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

时间:2014-11-12 13:23:15   收藏:0   阅读:471

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,布布扣
评论(0)
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!