Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách sử dụng hàm nhóm trong mệnh đề ORDER BY của MySQL


Chúng ta có thể sắp xếp các nhóm kết quả bằng cách sử dụng hàm nhóm trong mệnh đề ORDER BY. Mặc định thứ tự sắp xếp là tăng dần (ASC), có thể đảo ngược bằng từ khóa DESC.

Ví dụ

mysql> Select designation, YEAR(Doj), count(*) from employees 
    GROUP BY designation, YEAR(DoJ) ORDER BY Count(*) DESC;
+-------------+-----------+----------+
| designation | YEAR(Doj) | count(*) |
+-------------+-----------+----------+
| Prof        |      2009 |        2 |
| Asst.Prof   |      2015 |        1 |
| Asst.Prof   |      2016 |        1 |
| Prof        |      2010 |        1 |
| Asso.Prof   |      2013 |        1 |
+-------------+-----------+----------+
5 rows in set (0.00 sec)

mysql> Select designation, YEAR(Doj), count(*) from employees 
    GROUP BY designation, YEAR(DoJ) ORDER BY designation DESC;
+-------------+-----------+----------+
| designation | YEAR(Doj) | count(*) |
+-------------+-----------+----------+
| Prof        |      2009 |        2 |
| Prof        |      2010 |        1 |
| Asst.Prof   |      2015 |        1 |
| Asst.Prof   |      2016 |        1 |
| Asso.Prof   |      2013 |        1 |
+-------------+-----------+----------+
5 rows in set (0.00 sec)

Giải thích:

  • Ví dụ 1: Sắp xếp theo số lượng (COUNT(*)) giảm dần - nhóm có nhiều bản ghi nhất lên đầu
  • Ví dụ 2: Sắp xếp theo chức danh (designation) giảm dần theo chữ cái
Cả hai truy vấn đều nhóm theo chức danh và năm, nhưng thứ tự hiển thị khác nhau nhờ mệnh đề ORDER BY.