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

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

138次閱讀
沒有評論

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

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

這篇文章主要介紹了 MySQL 如何使用變量實現各種排序,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓丸趣 TV 小編帶著大家一起了解一下。

核心代碼

-- 下面我演示下 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 |
+------+------+-------+

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享 MySQL 如何使用變量實現各種排序內容對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,遇到問題就找丸趣 TV,詳細的解決方法等著你來學習!

向 AI 問一下細節

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

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-18發表,共計1212字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 景洪市| 西林县| 宜春市| 浮山县| 东兰县| 民勤县| 镇原县| 湟中县| 平利县| 防城港市| 东山县| 沈阳市| 四会市| 荔浦县| 盘锦市| 甘孜| 南丹县| 顺平县| 封丘县| 馆陶县| 灌云县| 高州市| 炉霍县| 玛曲县| 务川| 健康| 大兴区| 柳河县| 新巴尔虎左旗| 通州市| 新密市| 黑水县| 资中县| 城口县| 东阿县| 岳阳县| 辛集市| 湛江市| 桦川县| 永川市| 通河县|