關於sql語句 先分組再排序然后取每組的第一條數據


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對應兩個等待時間 我取第一個


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM