在这里有一个“特别”的时刻。基本上我有一个用于列出文件及其属性(大小、创建日期等)的数据库表。作为一个自称(边缘妄想)的 SQL 专家,当我未能找到一种质量方式来单独列出 [INSERT ATTRIBUTE HERE] 出现多次的文件时,您可以想象我的惊讶。
例如,假设我想查看其文件大小(或创建日期)在表中多次出现的所有文件,但我仍然希望将它们单独列出。或者更好的应用程序:一组共享 MD5 哈希的文件,但只有那些出现多次(即重复)的文件,我仍然想单独列出每个文件。显然我可以多次遍历数据库,但我对单个查询感兴趣。有什么想法吗?
最好的。
[编辑#1(计数错误)]
select *
from @foo where FileNameOnDisk in (
select FileNameOnDisk, count([INSERT_ATTRIBUTE_HERE]) as num from @foo
group by FileNameOnDisk
having num > 1
)order by FileNameOnDisk