SQL Server equivalent of PostgreSQL distinct on ()

前端 未结 2 1899
深忆病人
深忆病人 2021-02-12 10:45

I would like to have a Sql Server equivalent of the PostgreSQL distinct on ()

a  b
----
1  1
1  2
2  2
2  1
3  3

select distinct on (a) * 
from my_         


        
2条回答
  •  心在旅途
    2021-02-12 11:02

    In addition to the accepted answer, you can avoid using two sentences and use a sub select like this

    SELECT part.*
    FROM (  SELECT *, ROW_NUMBER() OVER(PARTITION BY a ORDER BY b) Corr
        FROM my_table) part
    WHERE part.Corr = 1
    

提交回复
热议问题