資料:
studenno
studentname
classno
classname
2018140101
張三1401
14級一班
2018140111
孫一1402
14級二班
2018140121
李二1402
14級二班
2018140102
錢一1401
14級一班
2018140104
趙一1401
14級一班
2018140123
周一1402
14級二班
目標:按班按學號分組排序
實現過程:
設定變數儲存班級號,同一班級號,rownum遞增,否則,rownum為1
select
if (
@classno = a.classno ,@rownum :=@rownum + 1 ,@rownum := 1
) as rownum,@classno:=a.classno,
a.*from
stu_class_rel a,
(select
@rownum := 0 ,@classno := null
) border by a.classno,a.studenno asc
sql執行結果:
rownum
@classno:=a.classno
studenno
studentname
classno
classname
11401
2018140101
張三1401
14級一班
21401
2018140102
錢一1401
14級一班
31401
2018140104
趙一1401
14級一班
11402
2018140111
孫一1402
14級二班
21402
2018140121
李二1402
14級二班
31402
2018140123
周一1402
14級二班
@identify --取值;@identify:= --賦值
mysql實現分組排序查詢
需求 針對於學生的考試成績需要按等級區分 考生,同時把各個等級的人員按照分數的高低排序 如下圖姓名 成績等級 分數序號 趙晴優秀991 李四優秀952 王五良好891 趙六良好872 李天良好853 王小普通781 李思普通752 建立學生成績表 student 姓名name 成績等級 level ...
mysql分組排序
sql的分組排序是乙個難點,在leetcode中是乙個hard級別的題目。筆者這兩天在工作中遇到了這麼乙個需求。取過去一段時間範圍內銷量前500的商品,然後取每個商品裡面銷量最高的sku,一共500個sku。取銷量前500的商品好求,但是這500對應的最高的sku不太容易,需要用到分組排序。筆者在工...
MySQL分組排序
emp資料表建表語句 create table emp empno int,ename varchar 40 job varchar 40 mgr int,hiredate varchar 40 sal double,comm int,deptno int 插入資料準備 insert into em...