关于#sql#的问题:问题遇到的现象和发生背景

问题遇到的现象和发生背景

img

我想要达到的结果

tif_name 下面对应的tif_path 有没有重复的数据

select * from table_name a  -- 换成表名
join
(select tif_name ,tif_path 
from table_name -- 换成表名
group by tif_name ,tif_path 
having count(1) > 1
) b
where a.tif_name = b.tif_name and a.tif_path = b.tif_path

使用distinct进行去重

SELECT * FROM (
SELECT *,ROW_NUMBER()OVER(PARTITION BY T.TIF_NAME,T1.TIF_PATH ORDER BY T1.TIF_PATH) RO
FROM 表 T1 ) T1
WHERE T1.RO = 1 -- 只看不重复的数据
--WHERE T1.RO > 1 -- 只看重复的数据