不用分析函式求出每組前幾名
create table score(
id int,
class varchar(20),
name varchar(200),
score int
)
insert into score values(1, '一班', 'A1', 60)
insert into score values(2, '一班', 'A2', 70)
insert into score values(3, '一班', 'A3', 80)
insert into score values(4, '一班', 'A4', 90)
insert into score values(5, '一班', 'A5', 85)
insert into score values(6, '二班', 'B1', 60)
insert into score values(7, '二班', 'B2', 61)
insert into score values(8, '二班', 'B3', 62)
insert into score values(9, '二班', 'B4', 63)
insert into score values(10, '二班', 'B5', 65)
insert into score values(11, '二班', 'B6', 66)
insert into score values(12, '二班', 'B7', 68)
insert into score values(13, '二班', 'B8', 70)
insert into score values(14, '二班', 'B9', 80)
insert into score values(15, '二班', 'C1', 78)
select * from (
select sc.class, sc.name, sc.score, (select COUNT(*) from score a where sc.class= a.class
and a.score > sc.score) cnt from score sc) as t where t.cnt <= 2
order by class, score desc
比起分析函式,這個效率肯定較差
id int,
class varchar(20),
name varchar(200),
score int
)
insert into score values(1, '一班', 'A1', 60)
insert into score values(2, '一班', 'A2', 70)
insert into score values(3, '一班', 'A3', 80)
insert into score values(4, '一班', 'A4', 90)
insert into score values(5, '一班', 'A5', 85)
insert into score values(6, '二班', 'B1', 60)
insert into score values(7, '二班', 'B2', 61)
insert into score values(8, '二班', 'B3', 62)
insert into score values(9, '二班', 'B4', 63)
insert into score values(10, '二班', 'B5', 65)
insert into score values(11, '二班', 'B6', 66)
insert into score values(12, '二班', 'B7', 68)
insert into score values(13, '二班', 'B8', 70)
insert into score values(14, '二班', 'B9', 80)
insert into score values(15, '二班', 'C1', 78)
select * from (
select sc.class, sc.name, sc.score, (select COUNT(*) from score a where sc.class= a.class
and a.score > sc.score) cnt from score sc) as t where t.cnt <= 2
order by class, score desc
比起分析函式,這個效率肯定較差
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-1062909/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 分組取每個組的前幾名的問題MySql
- 查詢每個班級前幾名
- 【Analytic】使用MAX分析函式高效獲取每個Schema下最後被分析的表名函式
- 幾個分析函式的比較函式
- 排名前100的PHP函式及分析PHP函式
- 函式簽名函式
- 函式組: FREP函式
- 函式組: LPRF函式
- 函式組:ALFA函式
- 函式組: ALSMEX函式
- 函式組:SDHI函式
- 函式組: CTVB函式
- 函式組:SDIF函式
- 函式組: SENT函式
- 函式組:FACI函式
- 函式組:SEUT函式
- 函式組:STXKS函式
- 函式組:SLST函式
- 函式組:CSTR函式
- 函式組:SCUN函式
- 函式組:SCAL函式
- 函式組:SGUI函式GUI
- 函式組: STMO函式
- 函式組:SUSE函式
- 函式組:SURL函式
- 函式組:SGFW函式
- 函式組:SECH函式
- 函式組:RMDI函式
- 函式組:SFTP函式FTP
- Oracle分析函式七——分析函式案例Oracle函式
- hive視窗分析函式使用詳解系列二之分組排序視窗函式Hive函式排序
- oracle幾個函式Oracle函式
- Oracle聚合函式/分析函式Oracle函式
- webgl內建函式--幾何函式與矩陣函式Web函式矩陣
- const放在函式前和放在函式後函式
- 函式組:DLOG函式
- 函式組:ICON函式
- 函式組:THFB函式