SELECT
C.ENETPATIENTID visit_sn,
--D.INFOTYPE visit_type,
--C.PATIENTNAME name,
A.STUDYTIME "检查时间",
--B.REPORTDESCRIBE "文本1",
--B.REPORTDIAGNOSE "文本2",
(Concat(Concat(REPORTDESCRIBE,'_'),REPORTDIAGNOSE)) 合并结果集
FROM pacs31.studyinfo A
JOIN pacs31.patientdiagrptinfo B ON A.diagrptid = B.diagrptid
INNER JOIN pacs31.PATIENTINFO C ON A.CHECKSERIALNUM = C.CHECKSERIALNUM
INNER JOIN pacs31.HISINFOTYPE D ON C.HISPATIENTTYPE = D.INFOTYPEID
where A.ISAVAILABLE = 1 and A.ISBESPEAK = 0 AND A.DEVICETYPEID=17
AND C.ENETPATIENTID='ZY010003049779'
AND A.STUDYSCRIPTION LIKE '%胃%'
你这个问题可以用row_number() over(partition by ... order by STUDYTIME asc ) rk 将其作为查询的一列。然后取RK=1的数据即为最早的一条 ,partition可以根据你实际的情况来分组。