SELECT PA.refPatient_id
,MAX(PA.datee) AS datee
,PR.temporary,PA.statue
FROM PatientClinicActs AS PA
,PatientStatueReasons AS PR
WHERE PA.refClinic_id = 25
AND PA.refreason_id = PR.reason_id
GROUP BY PA.refPatient_id,PA.statue,PR.temporary
返回這些結果:
refPatient_id datee temporary statue
----------- ----------------------- ------ -----
14706 2008-12-01 11:01:00 1 0
14707 2009-05-18 16:21:00 1 0
14708 2009-07-15 09:46:00 1 0
14708 2009-07-29 16:12:00 1 0
14716 2009-11-09 12:29:00 0 0
14716 2009-09-01 11:15:00 1 0
14716 2009-09-29 16:44:00 1 1
但我想有以下結果:
refPatient_id datee temporary statue
----------- ----------------------- ------ -----
14706 2008-12-01 11:01:00 1 0
14707 2009-05-18 16:21:00 1 0
14708 2009-07-29 16:12:00 1 0
14716 2009-11-09 12:29:00 0 0
的區別是什麼? =>在這些結果中,每個refPatient_id都有最新的行。 我應該運行什麼來獲得這些結果?
你想獲得最新的一個給定refPatient_Id?做一個rank()並選擇rank == 1應該工作的位置 – 2009-11-20 11:52:08
我想獲取每個refPatient_id的最新行。你能寫一個排名榜嗎? – uzay95 2009-11-20 12:34:56
您的14708結果:他們在第一個結果集中看起來不對。您不應該使用那個查詢結果 – gbn 2009-11-20 12:35:06