gpt4 book ai didi

SQL Server 选择不同

转载 作者:行者123 更新时间:2023-12-04 20:56:19 24 4
gpt4 key购买 nike

我想写这样一个查询:

对于包含这些列的表:ColA ColB ColC, 冷

首先选择(ColA、ColB、ColC、ColD)不同的(ColB,ColC)从表按 Cold 订购

查询应该按 ColD 对表进行排序,然后按 ColB 和 ColC 的组合(它们可能具有不同的数据类型)对结果进行分组,并返回组中的第一行(包含表的所有列) .

在 MS SQL Server 2005 中怎么可能?

最佳答案

听起来您想要“每组最多”。

一种方法是使用窗口函数 ROW_NUMBER对每组中的行进行编号,然后仅选择行号为 1 的那些行:

SELECT ColA, ColB, ColC, ColD
FROM
(
SELECT
ColA, ColB, ColC, ColD,
ROW_NUMBER(PARTITION BY ColB, ColC ORDER BY ColD) AS rn
FROM table1
) T1
WHERE rn = 1

关于SQL Server 选择不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2855373/

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