dkfr.net
当前位置:首页 >> orAClE选取每个分组中的一行,如图 >>

orAClE选取每个分组中的一行,如图

SELECT * FROM ( SELECT T.*, ROW_NUMBER() OVER (PARTITION BY PATIENT_IDORDER BY DRUGNUM) RN FROM TABLE T) WHERE RN = 1 取DRUGNUM最小的那一列显示

select code,num,price,date,sum_num from ( select code,num,price,date,row_number() over (partition by code order by date desc) rn, sum(num) over (partition by code) sum_num ) a where rn=1

select Tt.sal, Tt.row1, Tt.deptno from (select t.sal sal, rownum row1, t.deptno deptno from (select sum(sal) sal, deptno from emp group by deptno order by deptno) t) tt where Tt.row1

select t.*,count(1) count from (select substr(字段名b,0,3) b from 表名) t group by t.字段名b order by 字段名b--第一步截取字符串前三位substr 第二部进行分组排序

select '60分以下' 级别,sum(case when grade 80 then 1 else 0 end) 人数 from score 这样?

可以考虑使用row_number() over(partition by auctionid)来获得纪录排序,然后获得排序中的第一条记录就可以了。 但是效率不会太高。

SELECT 第一个字段, MIN(第二个字段) FROM A GROUP BY 第一个字段

假设你的表 叫score,长这样: sub score math 100 math 90 math 99 English 90 history 90 English 60 select sub, score from (select sub,score,row_number() over(partition by sub order by score) rn from score) where rn = 1 当然,这种...

你可以首先在查询数据的时候使用排名函数rank()对你的数据进行排名 在查出的结果上再次进行查询,这次的条件可以是排名字段的值为

select a.* from a,(select fid,max(time) time from a group by fid) b where a.fid=b.fid and a.time=b.time

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com