欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 取得名次

錢良釵2年前12瀏覽0評論

MySQL是一款常用的關系型數據庫管理系統。在MySQL中,常常需要根據某些條件進行排序,并取得排序后的名次。

假設有如下一張名單表:

CREATE TABLE students (
id INT,
name VARCHAR(50),
score INT
);
INSERT INTO students VALUES(1, '張三', 90);
INSERT INTO students VALUES(2, '李四', 80);
INSERT INTO students VALUES(3, '王五', 95);
INSERT INTO students VALUES(4, '趙六', 85);
INSERT INTO students VALUES(5, '錢七', 92);

現在需要根據分數(score)降序排序,取得名次(rank)并顯示。

SELECT 
s.id, 
s.name, 
s.score, 
(SELECT COUNT(*) FROM students WHERE score >s.score) + 1 AS rank 
FROM students s 
ORDER BY s.score DESC;

這條SQL語句的含義是:先從學生表中選擇出每一個學生的id、name、score信息,然后通過子查詢計算出比當前學生分數高的人數,并加1作為名次(rank)顯示出來。最后根據分數(score)降序排序。

執行以上SQL語句后輸出的結果如下:

+----+--------+-------+------+
| id | name   | score | rank |
+----+--------+-------+------+
|  3 | 王五   |    95 |    1 |
|  5 | 錢七   |    92 |    2 |
|  1 | 張三   |    90 |    3 |
|  4 | 趙六   |    85 |    4 |
|  2 | 李四   |    80 |    5 |
+----+--------+-------+------+

可以看到,根據分數(score)降序排序后,學生的名次(rank)也被正確地計算并顯示了出來。