Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

นับและเรียงลำดับแถวด้วยคิวรี MySQL เดียว

ใช้ GROUP BY นับจำนวน แล้ว ORDER BY COUNT(*) DESC เรียงจากมากไปน้อย

สร้างตารางและเพิ่มข้อมูลซ้ำ

mysql> create table DemoTable783 ( FirstName varchar(100) ); 
Query OK, 0 rows affected (0.65 sec)

mysql> insert into DemoTable783 values('Adam'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable783 values('Chris'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable783 values('Chris'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable783 values('Adam'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable783 values('Adam'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable783 values('Robert'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable783 values('Robert'); Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable783 values('Adam'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable783 values('Chris'); Query OK, 1 row affected (0.14 sec)

คิวรีนับและเรียง

mysql> select FirstName, count(*) from DemoTable783 
group by FirstName order by count(*) desc;
+-----------+----------+
| FirstName | count(*) |
+-----------+----------+
| Adam      | 4        |
| Chris     | 3        |
| Robert    | 2        |
+-----------+----------+
3 rows in set (0.00 sec)

ประโยชน์: รายงานสถิติความถี่ของค่าในคอลัมน์ได้ในคำสั่งเดียว