1. Mô tả vấn đề
Tôi có sử dụng mệnh đề ORDER BY để sắp xếp trong câu truy vấn con của mình nhưng khi ra câu truy vấn tra bên ngoài thì kết quả order đó không còn nữa (Khi tôi sử dụng ở máy chủ dạng Mysql thì không xảy ra vấn đề này). Nội dung câu truy vấn tôi sử dụng có dạng:
SELECT * FROM ( SELECT * FROM tb1 WHERE ....... AND ........... ORDER BY field_2 ASC, field_2 DESC ) as temp GROUP BY field_1
Nhưng khi kết quả trả về của câu truy vấn lớn ở mệnh đề SELECT đầu tiên không có áp dụng sự sắp xếp mà tôi đã sử dụng Order để sắp xếp ở câu truy vấn ở mệnh đề SELECT thứ 2.
2. Cách khắc phục
Để giữ kết quả sắp xếp đẫ thực hiện trong mệnh đề SELECT bên trong đem ra mệnh đề SELECT bên ngoài chúng ta sử dụng LIMIT ở mệnh đề SELECT bên trong như sau:
SELECT * FROM ( SELECT * FROM tb1 WHERE ....... AND ........... ORDER BY field_2 ASC, field_2 DESC LIMIT 10000 ) as temp GROUP BY field_1
Nosomovo