SQL分組求最大值

2021-08-13 03:03:46 字數 714 閱讀 3491

訂單操作記錄表,需要獲取每個訂單最新的操作更新時間,以及操作id。使用 over 以及 row_number() 來實現

select * from(

select operationid,orderno,updatetime,row_number() over(partition by orderno order by updatetime desc)rn

from operationrecord

)t where t.rn <=1;

若不可使用over函式,則使用not exist

select o.* from operationrecord o

where not exists 

(select 1 from operationrecord where orderno=o.orderno and(updatetime>o.updatetime))

order by operationid desc;

2017.12.14

使用case when 根據列值新增查詢條件

select a.id, a.name, a.age from a a left join b b on a.id = b.id left join c c on a.name = c.name where 

a.team = (case when a.age is not null then b.team else a.team end);

SQL分組最大值

employee表包含所有員工資訊,每個員工有其對應的 id,salary 和 department id。id name salary departmentid 1 joe 70000 1 2 henry 80000 2 3 sam 60000 2 4 max 90000 1 department...

sql多表查詢分組最大值

問題描述 有三張表 學生表student id,name id為主鍵 課程表subject id,name id為主鍵 分數表score studentid,subjectid,score 其中studentid與subjectid為聯合主鍵,一句sql語句查詢出 學號,姓名,課程名,課程最高分.模...

sql 分組後的最大值

friday february 10,2006 03 29pm cst select customerid,max balance from temptable1 group by customerid 就可以達到目的了,我竟然半天不知道怎麼下手。看來是被上次max a,b 問題嚇怕了。msn 的這...