欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

在這里插入圖片描述

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

1)普通排名

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

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

結果如下:

在這里插入圖片描述

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;
 -- 當查詢的score 值 = @price時,輸出@rank,
 -- 當不等時,將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;

結果如下:

在這里插入圖片描述

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;

結果如下:

在這里插入圖片描述

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

1)分組普通排名

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

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;

結果如下:

在這里插入圖片描述

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;

結果如下:

在這里插入圖片描述

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;

結果如下:

在這里插入圖片描述

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;

結果如下:

在這里插入圖片描述

② 內(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;

結果如下:

在這里插入圖片描述

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

在這里插入圖片描述

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

相關文章

  • mysql 報錯 incompatible with sql_mode=only_full_group_by解決

    mysql 報錯 incompatible with sql_mode=only

    這篇文章主要為大家介紹了mysql 報錯 incompatible with sql_mode=only_full_group_by解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • MySQL中時間函數(shù)操作大全

    MySQL中時間函數(shù)操作大全

    在使用SQL語言進行數(shù)據(jù)查詢和數(shù)據(jù)分析中,常常需要借助日期時間函數(shù)來計算相關的指標或生成日期輔助列,下面這篇文章主要給大家介紹了關于MySQL中時間函數(shù)操作的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • MySQL中使用FREDATED引擎實現(xiàn)跨數(shù)據(jù)庫服務器、跨實例訪問

    MySQL中使用FREDATED引擎實現(xiàn)跨數(shù)據(jù)庫服務器、跨實例訪問

    這篇文章主要介紹了MySQL中使用FREDATED引擎實現(xiàn)跨數(shù)據(jù)庫服務器、跨實例訪問,本文講解了FEDERATED存儲引擎的描述、安裝與啟用FEDERATED存儲引擎、準備遠程服務器環(huán)境等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • MySQL存儲過程的概念與用法實例

    MySQL存儲過程的概念與用法實例

    我們常用的操作數(shù)據(jù)庫語言SQL語句在執(zhí)行的時候需要要先編譯,然后執(zhí)行,而存儲過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,下面這篇文章主要給大家介紹了關于MySQL存儲過程的相關資料,需要的朋友可以參考下
    2022-02-02
  • mysql 8.0.16 winx64.zip安裝配置方法圖文教程

    mysql 8.0.16 winx64.zip安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.16 winx64.zip安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • MySQL存儲引擎的實現(xiàn)要素分析

    MySQL存儲引擎的實現(xiàn)要素分析

    這篇文章主要為大家介紹了MySQL存儲引擎的實現(xiàn)要素分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • MySQL數(shù)據(jù)庫如何導入導出(備份還原)

    MySQL數(shù)據(jù)庫如何導入導出(備份還原)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫如何導入導出(備份還原),需要的朋友可以參考下
    2015-10-10
  • navicat連接mysql報錯10060的解決辦法

    navicat連接mysql報錯10060的解決辦法

    最近在學習中遇到了個小問題,現(xiàn)在將解決的辦法分享給同樣遇到這個問題的同學,這篇文章主要給大家介紹了關于navicat連接mysql報錯10060的解決辦法,需要的朋友可以參考下
    2023-03-03
  • mysql自定義排序順序語句

    mysql自定義排序順序語句

    這篇文章主要介紹了mysql 自定義排序順序,在sql語句中加入ORDER BY FIELD,需要的朋友可以參考下
    2014-02-02
  • MySQL數(shù)據(jù)庫服務器逐漸變慢分析與解決方法分享

    MySQL數(shù)據(jù)庫服務器逐漸變慢分析與解決方法分享

    本文針對MySQL數(shù)據(jù)庫服務器逐漸變慢的問題, 進行分析,并提出相應的解決辦法
    2012-01-01

最新評論