MySQL 分組排序取top

2021-09-04 12:58:48 字數 591 閱讀 9155

hive中可以使用row_number(),how about in mysql??

--1.學生表

student(s,sname,sage,s***) --s 學生編號,sname 學生姓名,sage 出生年月,s*** 學生性別

--2.課程表 

course(c,cname,t) --c --課程編號,cname 課程名稱,t 教師編號

--3.教師表 

teacher(t,tname) --t 教師編號,tname 教師姓名

--4.成績表 

sc(s,c,score) --s 學生編號,c 課程編號,score 分數

-- 25、查詢各科成績前三名的記錄

select student.*, score

from student 

left join sc aa 

on student.s=aa.s

where (select sum(case when score>aa.score then 1 else 0 end) 

from sc 

where sc.c=aa.c) in (0,1,2);

ref:

MySQL分組排序求Top

這篇文章主要介紹了詳解mysql分組排序求top 表結構 create table score id int 11 not null auto increment,grp int 11 default null,num int 11 default null,primary key id engin...

mysql實現分組排序top幾 分組環比

一直以為mysql的分組排序支援很弱,今天才發現也是一樣很強大的,在oracle上面能夠使用的函式,在mysql這裡也是能夠得到支援的。分類後再排序 可加序號 這個對於需要取每個分類的top幾非常的好用 測試表test row number 作用是生產連續的序號 lead n,m,z n是你要環比的...

elasticsearch分組排序取top N

比如有一張聯絡歷史表,裡面有使用者uid,號number,使用者所屬國家country,通話時長talktime幾個主要字段。現在的需求是要獲取平均通話時長最長的top 20個國家。先過濾掉一些不需要的資料,然後根據country分桶,在桶內求平均通話時長。最後根據每個桶的平均通話時長取top 20...