gpt4 book ai didi

sql - 带分区的 ROW_NUMBER 返回具有重复行的结果

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

当我运行此查询时,与没有 ROW_NUMBER () 行的类似查询相比,我获得的行数更多:

SELECT DISTINCT id, value,  
ROW_NUMBER () OVER (PARTITION BY (id)
ORDER BY value DESC NULLS LAST ) max
FROM TABLE1
WHERE id like '%1260' ORDER BY id ASC

VS

SELECT DISTINCT id, value
FROM TABLE1
WHERE id like '%1260' ORDER BY id ASC

为什么会发生这种情况以及如何解决?

最佳答案

这样想:如果有两行具有相同的 id 和值,第二个查询将为您提供一行具有不同的 id、值对。第一行给出两行,一行的 row_number() 为 1,另一行的 row_number() 为 2。

对于以下数据:

ID   VALUE
-- -----
1 XXX
1 XXX

查询 1 将返回

ID  VALUE   MAX
-- ----- ---
1 XXX 1
1 XXX 2

查询 2 将返回

ID  VALUE
-- -----
1 XXX

关于sql - 带分区的 ROW_NUMBER 返回具有重复行的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363149/

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