我对SQL很陌生,但我设法将我的select语句用于显示完整路径,MD5checksum和MD5cheksum出现次数的工作。现在我想得到它,以便代码在第一次出现MD5checksum时忽略。
这是我当前的陈述;
SELECT F.Fullpath
,F.MD5Checksum
,[tbl.Finance].count
FROM [tbl.Finance] F
INNER JOIN
(
SELECT MD5Checksum
,count(*) as Count
FROM [tbl.Finance]
GROUP BY MD5Checksum
HAVING COUNT(*) > 1
) [tbl.Finance]
ON F.MD5Checksum = [tbl.Finance].MD5Checksum
ORDER BY MD5Checksum
如果我能得到任何帮助就会很棒。 感谢
答案 0 :(得分:1)
WITH CTE AS(
SELECT
F.Fullpath
,F.MD5Checksum
,[tbl.Finance].count
,ROW_NUMBER() OVER (PARTITION BY F.MD5Checksum ORDER BY F.MD5Checksum) rn
FROM [tbl.Finance] F
inner join
(select
MD5Checksum
,count(*) as Count
from [tbl.Finance]
group by MD5Checksum
having Count(*) > 1
) [tbl.Finance] on F.MD5Checksum = [tbl.Finance].MD5Checksum)
SELECT * FROM CTE WHERE rn>1