Computer >> Máy Tính >  >> Lập trình >> MySQL

Điều gì sẽ ảnh hưởng đến kết quả tóm tắt khi tôi sử dụng thứ tự sắp xếp rõ ràng (ASC hoặc DESC) với tên cột trong danh sách GROUP BY cùng với công cụ sửa đổi “WITH ROLLUP”?


Trong trường hợp chúng tôi sử dụng thứ tự sắp xếp rõ ràng (ASC hoặc DESC) với các tên cột trong danh sách GROUP BY cùng với công cụ sửa đổi "WITH ROLLUP", các hàng tóm tắt do ROLLUP thêm vào vẫn xuất hiện sau các hàng mà từ đó chúng được tính toán bất kể thứ tự sắp xếp.

Như chúng ta biết rằng thứ tự sắp xếp mặc định tăng dần, do đó trong ví dụ dưới đây nếu chúng ta không sử dụng bất kỳ thứ tự sắp xếp rõ ràng nào thì kết quả sẽ như sau -

mysql> Select sr, SUM(Price) AS Price from ratelist Group by sr with rollup;
+-----+-------+
| sr  | Price |
+-----+-------+
|  1  |   502 |
|  2  |   630 |
|  3  |  1005 |
|  4  |   850 |
|  5  |   250 |
|NULL |  3237 |
+-----+-------+
6 rows in set (0.00 sec)

Bây giờ sau khi xác định thứ tự sắp xếp là DESC, chúng ta sẽ nhận được kết quả từ cùng một truy vấn ở trên như sau -

mysql> Select sr, SUM(Price) AS Price from ratelist Group by sr DESC with rollup;
+-----+-------+
| sr  | Price |
+-----+-------+
|  5  |   250 |
|  4  |   850 |
|  3  |  1005 |
|  2  |   630 |
|  1  |   502 |
|NULL |  3237 |
+-----+-------+
6 rows in set (0.00 sec)

Có thể quan sát thấy từ đầu ra rằng mặc dù thứ tự sắp xếp, được thay đổi thành giảm dần, các hàng tóm tắt vẫn xuất hiện sau các hàng mà chúng được tính từ đó.