gpt4 book ai didi

sql-server - SQL 选择重复值而不分组

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

我已经检查了所有相关问题,但找不到我需要的确切内容。

我需要返回任何数据,其中每条记录的一个特定字段都相同,但我不能使用 group by因为我需要查看所有重复的记录,我不只是想要对它们进行计数。

我试过使用 group byhaving count(field) > 1以及各种形式的简单select和其他尝试使用的方式 count()没有运气。

基本上,我需要查看表中的所有内容,除了某个特定字段具有唯一值的位置。如果它不是唯一的,我需要查看它。

还有其他where要求,但为简单起见,我没有将它们包括在此处。我正在使用 SSMS 2008 R2。

谢谢

示例:

数据:

Col1  |  Col2  |  Col3
----------------------
abc wow 13/05/2016
abc wow 10/05/2016
def wow 13/05/2016
ghi wow 13/05/2016
ghi wow 10/05/2016
jkl wow 01/01/2016

预期结果:
Col1  |  Col2  |  Col3
----------------------
abc wow 13/05/2016
abc wow 10/05/2016
ghi wow 13/05/2016
ghi wow 10/05/2016

我希望显示在 Col1 中没有唯一值的任何内容

最佳答案

您可以使用以下查询:

SELECT Col1, Col2, Col3
FROM (
SELECT Col1, Col2, Col3,
COUNT(*) OVER (PARTITION BY Col1) AS cnt
FROM mytable) AS t
WHERE t.cnt > 1

查询使用 COUNT 的窗口版本聚合函数:该函数应用于 Col1分区。外部查询过滤掉具有 Col1 的记录仅出现一次的值。

关于sql-server - SQL 选择重复值而不分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37212861/

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