gpt4 book ai didi

sql - 选择最近的记录

转载 作者:行者123 更新时间:2023-12-04 13:19:44 25 4
gpt4 key购买 nike

如果记录具有几乎相同类型的数据,如何选择最近的记录...

例子:

col1       col2          col3              col4
--------------------------------------------------
123 abc 1.1 12345
123 abc 1.1 123445
1234 dsv 2.0 123
1234 dsv 2.0 1233
12345 dsvw 1.2 1234
col4的最大值当它与其余的列进行比较时。

看到 row1 和 row2 数据看起来很相似,但我们需要基于 col4 的最新数据。

与 row3 和 row4 相同,数据看起来相似,但我们需要基于 col4 的最新数据。

所需的输出是:
col1    col2   col3   col4
----------------------------
123 abc 1.1 123445
1234 dsv 2.0 1233
12345 dsvw 1.2 1234

最佳答案

我假设“最新”意味着“最大”?

DECLARE @t TABLE
(
col1 INT,
col2 CHAR(3),
col3 DECIMAL(4,1),
col4 INT
);

INSERT @t SELECT 123, 'abc', 1.1, 12345
UNION SELECT 123, 'abc', 1.1, 123445
UNION SELECT 1234, 'dsv', 2.0, 123
UNION SELECT 1234, 'dsv', 2.0, 1233;

WITH t AS
(
SELECT col1, col2, col3, col4,
rn = ROW_NUMBER() OVER
(PARTITION BY col1 ORDER BY col4 DESC)
FROM @t
)
SELECT col1, col2, col3, col4
FROM t
WHERE rn = 1;

关于sql - 选择最近的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6617347/

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