PDA

View Full Version : Tìm hiểu về ORDER BY


Life172M
12-08-2010, 09:01 AM
Mọi người cho ý kiến câu truy vấn sau có kết quả như nào:
SELECT TOP 5 * , 'K' AS Bold
FROM (SELECT *
FROM #ChungTu
WHERE Ma_Bp IN (SELECT TOP 5 Ma_Bp
FROM #ChungTu
GROUP BY Ma_Bp
ORDER BY SUM(Tien) DESC)) B
(Chỉ phân tích kết quả trả về câu lệnh. Không phân tích về câu lệnh rườm rà hay thuật toán nhé)

Badboy
12-08-2010, 09:13 AM
Đoạn này nếu mục đích là để lấy ra 5 BP có doanh thu cao nhất thì có 2 vấn đề:
- Trường hợp có bộ phận doanh thu bằng nhau thì kết quả trả về là sai. Sai trong trường hợp doanh thu của bộ phận tứ 5 = 6=7...

- Trường hợp nữa là cột mã bộ phận mà để trắng cũng sai nốt. Phải lấy những mã bộ phận <> ''