3

テーブルからすべてを選択するにはどうすればよいですか。列の値が同じ場合nameは、最大のid値を持つ行のみを選択するため、次のようなテーブルがあった場合:

  id name   age country
 ---+------+---+------- 
   1  bob    24  UK
   2  john   48  USA
   3  janet  72  USSR
   4  bob    96  Ukraine 

最高の ID を持つ「bob」のみが選択されるため、結果は次のように返されます。

  id name   age country
 ---+------+---+------- 
   2  john   48  USA
   3  janet  72  USSR
   4  bob    96  Ukraine

ありがとうございました。

4

4 に答える 4

3

not exists同じ名前でより大きな ID を持つ行を除外するサブクエリを使用できます。

select  *
from    People p1
where   not exists
        (
        select  *
        from    People p2
        where   p1.Name = p2.Name
                and p2.Id > p1.Id
        )
于 2013-05-05T15:28:27.817 に答える