gpt4 book ai didi

sql-server - 在 having 子句中使用 count 没有返回行

转载 作者:行者123 更新时间:2023-12-05 06:46:03 24 4
gpt4 key购买 nike

在 SQL Server 2005 中,我有一个表,其中有与某些个人 ID 号关联的不同文件名。我想提取个人 ID 数大于 1 的所有文件名。这就是我正在做的,但它提取了 0 条记录:

SELECT [file_name], per_ID
FROM mytable
GROUP BY [file_name], per_ID
HAVING COUNT(per_ID) > 1
ORDER BY per_ID, [file_name] ASC

我也试过以下方法,结果相同:

SELECT [file_name], per_ID, COUNT(per_ID)
FROM mytable
GROUP BY [file_name],per_ID
HAVING COUNT(per_ID) > 1
ORDER BY per_ID, [file_name] ASC

如果有人能告诉我我做错了什么,我将不胜感激。

这是表结构和数据示例:

file_name | per_ID
9995573157 1111
5996110978 2222
5996111208 3333
8996693000 3333
8996693215 4444
7997617867 5555
9997335346 5555

我要查找的结果是来自 per_ID 3333 和 5555 的文件名

5996111208  
8996693000
7997617867
9997335346

最佳答案

好的,所以我们只需要分两步完成。首先,获取多次出现的 per_id 列表,然后获取与这些 per_id 对应的文件名列表。

select file_name
from mytable
where per_id in (
select per_id from mytable group by per_id having count(*) > 1
)

关于sql-server - 在 having 子句中使用 count 没有返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19324685/

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