五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

mysql使用自定義序列實(shí)現(xiàn)row_number功能(步驟詳解)

發(fā)布日期:2022-02-01 17:02 | 文章來(lái)源:腳本之家

看了一些文章,終于知道該怎么在 mysql 里面實(shí)現(xiàn) row_number() 排序

話不多說(shuō),show you the code:

第一步:建表:

create table grades(
`name` varchar(10),
`subject` varchar(10),
`score` int(10)
)

第二步:寫入數(shù)據(jù)

insert into grades(name, subject, score)
values('小明', '語(yǔ)文', 85),
('小華', '語(yǔ)文', 89),
('小李', '語(yǔ)文', 91),
('小芳', '語(yǔ)文', 93),
('小明', '數(shù)學(xué)', 77),
('小華', '數(shù)學(xué)', 95),
('小李', '數(shù)學(xué)', 83),
('小芳', '數(shù)學(xué)', 88),
('小明', '英語(yǔ)', 90),
('小華', '英語(yǔ)', 92),
('小李', '英語(yǔ)', 85),
('小芳', '英語(yǔ)', 88)

數(shù)據(jù)如下:

第三步:
需求:找出各科目單科第二的同學(xué)

首先,先排序:

select name, subject, score 
from grades
order by subject, score desc

數(shù)據(jù)如下:

然后,每個(gè)科目按照分組排序

select (@i:=case when @subject_pre=t1.subject then @i+1 else 1 end) as rn,
t1.*,
(@subject_pre:=subject) 
from (
    select name, subject, score 
    from grades
    order by subject, score desc
) t1, 
(select @i:=0, @subject_pre:='') as t2
group by subject, score
order by subject, score desc

解釋一下:
添加一個(gè)比較項(xiàng) subject_pre, 記錄前一個(gè)科目是什么。
再加上一個(gè)自增的序列,實(shí)現(xiàn)index+1的功能。
因?yàn)閿?shù)據(jù)已經(jīng)是有序的,如果指向的科目和存儲(chǔ)的前一個(gè)科目相同,那么序號(hào)+1,否則的話,序號(hào)從1開(kāi)始重新計(jì)算。
這樣就實(shí)現(xiàn)了分組排序。

最后,把 rn=2 的數(shù)據(jù)取出來(lái)

select name, subject, score from(
select (@i:=case when @subject_pre=t1.subject then @i+1 else 1 end) as rn,
t1.name,
t1.subject,
t1.score,
(@subject_pre:=subject) 
from (
select name, subject, score 
from grades
order by subject, score desc
) t1, 
(select @i:=0, @subject_pre:='') as t2
group by subject, score
order by subject, score desc
) t
where rn=2

最后結(jié)果如下:

這樣就使用mysql實(shí)現(xiàn)了row_number()的功能。

在網(wǎng)上找的資料,很多沒(méi)寫清楚,這里特地用一個(gè)示例把這個(gè)實(shí)現(xiàn)講清楚了,希望對(duì)你有幫助!

到此這篇關(guān)于mysql使用自定義序列實(shí)現(xiàn)row_number功能的文章就介紹到這了,更多相關(guān)mysql?row_number功能內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

香港服務(wù)器租用

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部