最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL使用變量實現(xiàn)各種排序

 更新時間:2017年05月20日 13:58:10   作者:feixianxxx  
這篇文章主要介紹了MySQL使用變量實現(xiàn)各種排序,需要的朋友可以參考下

核心代碼

--下面我演示下MySQL中的排序列的實現(xiàn)
--測試數(shù)據(jù)
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;
--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觸發(fā)器簡單用法示例

    MySQL觸發(fā)器簡單用法示例

    這篇文章主要介紹了MySQL觸發(fā)器簡單用法,結合實例形式分析了mysql觸發(fā)器的創(chuàng)建、執(zhí)行、查看、刪除等相關操作技巧,需要的朋友可以參考下
    2018-03-03
  • 解決啟動MySQL服務時出現(xiàn)"mysql本地計算機上的MySQL服務啟動后停止"的問題

    解決啟動MySQL服務時出現(xiàn)"mysql本地計算機上的MySQL服務啟動后停止"的問題

    某一天我的MySQL啟動突然出現(xiàn)了異常:“mysql本地計算機上的MySQL服務啟動后停止,某些在未由其他服務或程序使用時將自動停止,”?,小編在網絡上面找了很多方法,MySQL啟動成功了,但是第二天開啟MySQL時還是出現(xiàn)了這個問題,現(xiàn)把兩種方法總結一下,需要的朋友可以參考下
    2023-11-11
  • MySQL清空所有表的數(shù)據(jù)方法示例

    MySQL清空所有表的數(shù)據(jù)方法示例

    本文主要介紹了MySQL清空所有表的數(shù)據(jù)方法示例,要清空MySQL數(shù)據(jù)庫中所有表的數(shù)據(jù),但保留表結構,下面就介紹了幾種常用的方法,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • MySQL 5.0.96 for Windows x86 32位綠色精簡版安裝教程

    MySQL 5.0.96 for Windows x86 32位綠色精簡版安裝教程

    這篇文章主要介紹了MySQL 5.0.96 for Windows x86 32位綠色精簡版安裝教程,需要的朋友可以參考下
    2017-10-10
  • Mysql轉PostgreSQL注意事項及說明

    Mysql轉PostgreSQL注意事項及說明

    這篇文章主要介紹了Mysql轉PostgreSQL注意事項及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-10-10
  • mysql中binlog_format模式與配置詳細分析

    mysql中binlog_format模式與配置詳細分析

    這篇文章主要介紹了mysql中binlog_format模式與配置的相關內容,詳細介紹了binlog的三種格式與SBR、 RBR 兩種模式各自的優(yōu)缺點,需要的朋友可以參考。
    2017-10-10
  • 超越MySQL 對流行數(shù)據(jù)庫進行分支的知識小結

    超越MySQL 對流行數(shù)據(jù)庫進行分支的知識小結

    盡管MySQL是最受歡迎的程序之一,但是許多開發(fā)人員認為有必要將其拆分成其他項目,并且每個分支項目都有自己的專長。該需求,以及 Oracle 對核心產品增長緩慢的擔憂,導致出現(xiàn)了許多開發(fā)人員感興趣的子項目和分支
    2012-01-01
  • MySQL中BIGINT數(shù)據(jù)類型如何存儲整數(shù)值

    MySQL中BIGINT數(shù)據(jù)類型如何存儲整數(shù)值

    mysql數(shù)據(jù)庫設計,其中對于數(shù)據(jù)性能優(yōu)化,字段類型考慮很重要,下面這篇文章主要給大家介紹了關于MySQL中BIGINT數(shù)據(jù)類型如何存儲整數(shù)值的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • LEFT JOIN條件在on后面和在where后面的區(qū)別及說明

    LEFT JOIN條件在on后面和在where后面的區(qū)別及說明

    這篇文章主要介紹了LEFT JOIN條件在on后面和在where后面的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • MySQL數(shù)據(jù)庫的高可用方案總結

    MySQL數(shù)據(jù)庫的高可用方案總結

    這篇文章主要針對MySQL數(shù)據(jù)庫的高可用方案進行詳細總結,高可用架構對于互聯(lián)網服務基本是標,本文是對各種方案的總結,感興趣的小伙伴們可以參考一下
    2016-05-05

最新評論

乌拉特前旗| 丹寨县| 博野县| 武乡县| 仙居县| 阿城市| 肃宁县| 吴旗县| 西峡县| 永济市| 潜江市| 上饶县| 阿克陶县| 德令哈市| 三门峡市| 乐清市| 和林格尔县| 天柱县| 临泽县| 德清县| 兴安盟| 屏山县| 巴楚县| 扎兰屯市| 武宣县| 乌苏市| 大城县| 固始县| 勃利县| 孟津县| 梅州市| 陕西省| 阿合奇县| 田阳县| 雷山县| 南昌市| 五峰| 汉源县| 肇州县| 金坛市| 海门市|