gpt4 book ai didi

SQL Server 相当于 PostgreSQL 的 unique on ()

转载 作者:行者123 更新时间:2023-12-02 00:53:00 24 4
gpt4 key购买 nike

我想要一个与 PostgreSQL distinct on () 等效的 Sql Server

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

select distinct on (a) *
from my_table

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

我可以在 SQL Server 中执行以下操作:

select a, min(b) -- or max it does not matter
from my_table
group by a

但是在有很多列并且查询是临时查询的情况下,执行起来非常乏味。有简单的方法吗?

最佳答案

您可以尝试 ROW_NUMBER,但这可能会影响您的性能。

;WITH CTE AS
(
SELECT *, ROW_NUMBER() OVER(PARTITION BY a ORDER BY b) Corr
FROM my_table
)
SELECT *
FROM CTE
WHERE Corr = 1

关于SQL Server 相当于 PostgreSQL 的 unique on (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5808854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com