gpt4 book ai didi

sql-server-2008 - 获取重复行并根据单列计数

转载 作者:行者123 更新时间:2023-12-04 17:11:59 26 4
gpt4 key购买 nike

我需要根据单列(在本例中为代码)获取不同的行,其中该列值存在重复项。连同来自行的其他信息和重复行的数量。例如:

ID     code     ownerName
--------------------------
1 001 Mr. Brown
2 001 Mr. Pink
3 002 Mr. White
4 003 Mr. Blonde

我需要这个查询返回
ID     code     ownerName    count
----------------------------------
1 001 Mr. Brown 2

重复的行信息与返回哪个无关,但我无法将不同的代码与计数列结合起来。

我试过这样的查询:
SELECT DISTINCT A.code, A.ownerName 
FROM Customers A WHERE
EXISTS( SELECT * FROM Customers WHERE code = A.code AND id <> A.id)
order by A.code;

但我在计算时遇到了麻烦;并使用此查询
SELECT code, COUNT(*) as numberDuplicates 
FROM Customers GROUP BY code HAVING COUNT(*) > 1

我无法获取我不想分组的其他信息。谁能帮我弄清楚如何构建正确的查询?

最佳答案

如果我明白你在找什么,这应该有效:

这将选择具有非唯一代码的所有条目并返回使用该代码的记录数。

SELECT DISTINCT A.ID, A.Code, A.ownerName, B.Count
FROM Customers A
JOIN (
SELECT COUNT(*) as Count, B.Code
FROM Customers B
GROUP BY B.Code
) AS B ON A.Code = B.Code
WHERE B.Count > 1
ORDER by A.Code;

关于sql-server-2008 - 获取重复行并根据单列计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8608250/

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