Khắc phục lỗi không giữa kết quả order ở mệnh đề con ra mệnh đề bên ngoài của MeriaDB – Xóa term: Keep sub query order result in meriadb Keep sub query order result in meriadb

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

 

Chia sẻ lên
WEB5k - Thiết kế website giá rẻ chuẩn SEO