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

Mysql教程分組排名實(shí)現(xiàn)示例詳解

 更新時(shí)間:2021年10月26日 16:48:32   作者:數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美  
這篇文章主要為大家介紹了Mysql數(shù)據(jù)庫(kù)分組排名實(shí)現(xiàn)的示例詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步

1.數(shù)據(jù)源

在這里插入圖片描述

2.數(shù)據(jù)整體排名

1)普通排名

從1開(kāi)始,按照順序一次往下排(相同的值也是不同的排名)。

set @rank =0;
select 
	city ,
	score, 
	@rank := @rank+1 rank 
from cs 
order by score desc;

結(jié)果如下:

在這里插入圖片描述

2)并列排名

相同的值是相同的排名(但是不留空位)。

set @rank=0,@price=null;
select cs.* ,
 case when @price = score then @rank 
 when @price := score then @rank := @rank+1 end rank  
 from cs order by score desc;
 -- 當(dāng)查詢的score 值 = @price時(shí),輸出@rank,
 -- 當(dāng)不等時(shí),將score值賦給@price ,并輸出@rank := @rank+1
 
-- 或者
set @rank=0,@price=null;
select 
	a.city,a.score,a.rank 
from 
(select cs.*,
	@rank := if(@p=score,@rank,@rank+1) rank,
	@p := score
from cs 
order by score desc) a;

結(jié)果如下:

在這里插入圖片描述

3)并列排名

相同的值是相同的排名(但是留空位)。

set @rank=0,@price=null, @z=1;
select 
	a.city,a.score,a.rank 
from 
(select 
	cs.*,
	@rank := if(@p=score,@rank,@z) rank,
	@p := score,@z :=@z+1
from cs 
order by score desc) a;

結(jié)果如下:

在這里插入圖片描述

3.數(shù)據(jù)分組后組內(nèi)排名

1)分組普通排名

從1開(kāi)始,按照順序一次往下排(相同的值也是不同的排名)。

set @rank=0,@c=null;
select 
	cs.city,cs.score,
	@rank := if(@c = city,@rank+1,1) rank,
	@c := city
from cs 
order by cs.city,cs.score;

結(jié)果如下:

在這里插入圖片描述

2)分組后并列排名

組內(nèi)相同數(shù)值排名相同,不占空位。

set @rank=0,@c=null,@s=null;
select 
	cs.city,cs.score,
	@rank := if(@c=city,if(@s=score,@rank,@rank+1),1) rank ,
	@c := city,
	@s :=score 
from cs 
order by cs.city,cs.score;

結(jié)果如下:

在這里插入圖片描述

3)分組后并列排名

組內(nèi)相同數(shù)值排名相同,需要占空位。

set @rank=0,@c=null,@s=null;
select 
	cs.city,cs.score,
	@rank := if(@c=city,if(@s=score,@rank,@rank+1),1) rank ,
	@c := city,
	@s :=score 
from cs 
order by cs.city,cs.score;

結(jié)果如下:

在這里插入圖片描述

4.分組后取各組的前兩名

① 方法一:按照分組排名的三種方式,然后限定排名的值

set @rank=0,@z=0,@c=null,@s=null;
select a.city,a.score,a.rank from 
(select 
	cs.city city,cs.score score,
	@z := if(@c=city,@z+1,1),
	@rank := if(@c=city,if(@s=score,@rank,@z),1) rank,
	@c := city,
	@s :=score 
from cs 
order by cs.city,cs.score desc) a
where a.rank<=2;

結(jié)果如下:

在這里插入圖片描述

② 內(nèi)部查詢

SELECT * FROM cs c
WHERE (
    SELECT count(*) FROM cs
    WHERE c.city=cs.city AND c.score<cs.score )<2
ORDER BY city,score DESC;

結(jié)果如下:

在這里插入圖片描述

上述代碼的執(zhí)行原理如下圖:

在這里插入圖片描述

以上就是Mysql教程分組排名實(shí)現(xiàn)示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Mysql分組排名的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mysql分頁(yè)時(shí)offset過(guò)大的Sql優(yōu)化經(jīng)驗(yàn)分享

    mysql分頁(yè)時(shí)offset過(guò)大的Sql優(yōu)化經(jīng)驗(yàn)分享

    mysql分頁(yè)是我們?cè)陂_(kāi)發(fā)經(jīng)常遇到的一個(gè)功能,最近在實(shí)現(xiàn)該功能的時(shí)候遇到一個(gè)問(wèn)題,所以這篇文章主要給大家介紹了關(guān)于mysql分頁(yè)時(shí)offset過(guò)大的Sql優(yōu)化經(jīng)驗(yàn),文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起看看吧。
    2017-08-08
  • 深入講解數(shù)據(jù)庫(kù)中Decimal類型的使用以及實(shí)現(xiàn)方法

    深入講解數(shù)據(jù)庫(kù)中Decimal類型的使用以及實(shí)現(xiàn)方法

    MySQL?DECIMAL數(shù)據(jù)類型用于在數(shù)據(jù)庫(kù)中存儲(chǔ)精確的數(shù)值,我們經(jīng)常將DECIMAL數(shù)據(jù)類型用于保留準(zhǔn)確精確度的列,例如會(huì)計(jì)系統(tǒng)中的貨幣數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)庫(kù)中Decimal類型的使用以及實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • MySQL安全輸入密碼的一些操作介紹

    MySQL安全輸入密碼的一些操作介紹

    這篇文章主要介紹了MySQL安全輸入密碼的一些操作,示例基于Linux操作系統(tǒng),需要的朋友可以參考下
    2015-07-07
  • 一文帶你了解MySQL中的子查詢

    一文帶你了解MySQL中的子查詢

    子查詢指一個(gè)查詢語(yǔ)句嵌套在另一個(gè)查詢語(yǔ)句內(nèi)部的查詢,這個(gè)特性從MySQL 4.1開(kāi)始引入,SQL中子查詢的使用大大增強(qiáng)了SELECT 查詢的能力,本文帶大家詳細(xì)了解MySQL中的子查詢,需要的朋友可以參考下
    2023-06-06
  • Windows?本地安裝?Mysql8.0圖文教程

    Windows?本地安裝?Mysql8.0圖文教程

    本文介紹了如何在Windows本地安裝Mysql8.0。從下載Mysql8.0安裝包,運(yùn)行安裝程序,配置初始設(shè)置到啟動(dòng)Mysql服務(wù)等詳細(xì)步驟進(jìn)行了講解。
    2023-04-04
  • MySQL刪除數(shù)據(jù)1093錯(cuò)誤

    MySQL刪除數(shù)據(jù)1093錯(cuò)誤

    在進(jìn)行更新和刪除操作的時(shí)候,條件語(yǔ)句里面有子查詢語(yǔ)句,此時(shí)會(huì)報(bào)1093錯(cuò)誤,本文就來(lái)介紹一下1093錯(cuò)誤的解決,感興趣的可以了解一下
    2024-02-02
  • Mysql下載安裝、部署與圖形化詳細(xì)操作教程

    Mysql下載安裝、部署與圖形化詳細(xì)操作教程

    這篇文章主要為大家詳細(xì)介紹了Mysql下載安裝、部署與圖形化詳細(xì)操作教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 詳解記錄MySQL中l(wèi)ower_case_table_names的坑

    詳解記錄MySQL中l(wèi)ower_case_table_names的坑

    這篇文章主要介紹了詳解記錄MySQL中l(wèi)ower_case_table_names的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MySQL中UNION語(yǔ)句用法詳解與示例

    MySQL中UNION語(yǔ)句用法詳解與示例

    這篇文章主要給大家介紹了關(guān)于MySQL中UNION語(yǔ)句用法的相關(guān)資料,實(shí)際業(yè)務(wù)中有時(shí)候需要把滿足多種獨(dú)立條件的結(jié)果集整合到一起,就可以使用UNOIN聯(lián)合查詢,需要的朋友可以參考下
    2023-08-08
  • Mysql查詢或?qū)С鼋Y(jié)果添加序號(hào)字段實(shí)現(xiàn)方法

    Mysql查詢或?qū)С鼋Y(jié)果添加序號(hào)字段實(shí)現(xiàn)方法

    這篇文章主要介紹了Mysql查詢或?qū)С鼋Y(jié)果添加序號(hào)字段實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評(píng)論

高淳县| 游戏| 洛浦县| 万盛区| 剑阁县| 赤水市| 巴中市| 安化县| 三台县| 罗甸县| 合川市| 永昌县| 丰都县| 会同县| 乐平市| 泊头市| 奉化市| 保山市| 哈尔滨市| 南充市| 阳朔县| 旺苍县| 哈尔滨市| 建水县| 芷江| 宁明县| 陇西县| 凤城市| 浮山县| 永泰县| 土默特右旗| 木兰县| 西昌市| 长治县| 麻阳| 宜君县| 曲阜市| 辽阳县| 乌拉特前旗| 白水县| 新民市|