久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL使用變量如何實現各種排序

158次閱讀
沒有評論

共計 1149 個字符,預計需要花費 3 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

丸趣 TV 小編給大家分享一下 MySQL 使用變量如何實現各種排序,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

-- 下面我演示下 MySQL 中的排序列的實現
-- 測試數據
CREATE TABLE tb
score INT
INSERT tb SELECT 
5 UNION ALL SELECT 
4 UNION ALL SELECT 
4 UNION ALL SELECT 
4 UNION ALL SELECT 
3 UNION ALL SELECT 
2 UNION ALL SELECT
--1.row_number 式的排序
SET @row_number =0;
SELECT @row_number := @row_number+1 AS row_number,score 
FROM tb 
ORDER BY score DESC ;
+------------+-------+
| row_number | score |
+------------+-------+
| 1 | 5 |
| 2 | 4 |
| 3 | 4 |
| 4 | 4 |
| 5 | 3 |
| 6 | 2 |
| 7 | 1 |
+------------+-------+
--2.dense_rank 式的排序
SET @dense_rank = 0,@prev_score = NULL;
SELECT @dense_rank :=IF(@prev_score=score,@dense_rank,@dense_rank+1) AS decnse_rank,
 @prev_score := score AS score 
FROM tb 
ORDER BY score DESC ; 
+-------------+-------+
| decnse_rank | score |
+-------------+-------+
| 1 | 5 |
| 2 | 4 |
| 2 | 4 |
| 2 | 4 |
| 3 | 3 |
| 4 | 2 |
| 5 | 1 |
+-------------+-------+
--3.rank 式的排序
SET @row=0,@rank=0,@prev_score=NULL;
SELECT @row:=@row+1 AS ROW,
 @rank:=IF(@prev_score=score,@rank,@row) AS rank,
 @prev_score:=score AS score
FROM tb 
ORDER BY score DESC;
+------+------+-------+
| ROW | rank | score |
+------+------+-------+
| 1 | 1 | 5 |
| 2 | 2 | 4 |
| 3 | 2 | 4 |
| 4 | 2 | 4 |
| 5 | 5 | 3 |
| 6 | 6 | 2 |
| 7 | 7 | 1 |
+------+------+-------+

看完了這篇文章,相信你對 MySQL 使用變量如何實現各種排序有了一定的了解,想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-18發表,共計1149字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 大冶市| 台北县| 山东| 龙井市| 科尔| 邢台县| 泸州市| 临桂县| 巫山县| 新密市| 富裕县| 镇坪县| 独山县| 昭通市| 汨罗市| 库伦旗| 洱源县| 天镇县| 茂名市| 扶余县| 马公市| 淮安市| 百色市| 天长市| 泸州市| 志丹县| 藁城市| 翁牛特旗| 保德县| 石城县| 永春县| 昭通市| 雅安市| 富源县| 获嘉县| 肇州县| 太白县| 固始县| 社旗县| 宣武区| 乌什县|