gpt4 book ai didi

SQL获取第一个完整行匹配子查询中的每个结果

转载 作者:行者123 更新时间:2023-12-04 23:43:07 31 4
gpt4 key购买 nike

所以问题是这样的。我有一个包含 n 列数据的表,但我想为每组唯一的 3 列列出一行。

例如,假设表的结构如下

ID | data1 | data2 | data3 | description | price | handler | creationTime | etc...

我想做的是使用这个子查询:

SELECT distinct data1, data2, data3 FROM Table_1

... 获取 3 列的每个唯一变体。但是后来我想为每个这样的结果从表中选择一整行。

此查询需要大量使用,需要优化,这就是我不能使用表变量或 while 循环的原因。有什么提示吗?

最佳答案

如果您使用的是 SQL Server,则可以使用公用表表达式来执行此操作:

with minRow(ID) as 
(select min(ID)
from Table_1
group by data1, data2, data3)
select t1.*
from Table_1 t1 join minRow m1 on t1.ID = m1.ID

关于SQL获取第一个完整行匹配子查询中的每个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451206/

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