SQLは重複結果を排除し、フィールドの最大値のみを共有する。


どのようにSQLで重複結果を排除しますか?フィールドの最大値だけを記録しますか?求められた結果(PIDと同じ記録はID値が一番大きいもののみを取る)。

select * from [Sheet1$] a
where  ID not exists (select 1 from [Sheet1$] where PID=a.PID and ID>a.ID)

select a.* from [Sheet1$] a inner join (select PID,max(ID) as max_id from [Sheet1$] group by PID) b on a.PID=b.PID and a.ID=b.max_id