关于sql语句 先分组再排序然后取每组的第一条数据

时间:2014-11-12 13:22:04   收藏:0   阅读:858

select  ranked.等待时间 from
(
select *, ROW_NUMBER() over(partition by tb.PATIENT_ID order by tb.等待时间 ASC) as rowNum
from (select a.PATIENT_ID as PATIENT_ID, DATEDIFF(HOUR,b.ADMISSION_DATE, a.OPER_START_DATE) as 等待时间
from PAT_OPERATION as a,PAT_IN_VISIT as b
where OPERATION_CODE=‘SETMI_OP01‘ and a.PATIENT_ID=b.PATIENT_ID and DISCHARGE_DATE>=‘2014-04-01‘
and DISCHARGE_DATE<‘2014-07-01‘) tb
) ranked
where ranked.rowNum <=1

因为每个id对应两个等待时间bubuko.com,布布扣 我取第一个

bubuko.com,布布扣

原文:http://www.cnblogs.com/IclearByte/p/4091750.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!