我正在尝试查找某个零件号(组)是否有多个运营商。我已经尝试过下面的代码但不起作用。
SELECT PART_NO,CARRIER,
ROW_NUMBER() OVER (PARTITION BY PART_NO,CARRIER ORDER BY PART_NO,CARRIER)
FROM CARR_NM;
数据看起来像:
PART_NO CARRIER
1A3271 DHL
1A3271 MAERSK
1B0056 ALEXIM
我想选择零件号 1A3271,它有多个承运商 DHL 和 MAERSK。
任何帮助是极大的赞赏!
聚合依据PART_NO
然后断言载体的不同计数大于 1:
SELECT PART_NO
FROM CARR_NM
GROUP BY PART_NO
HAVING COUNT(DISTINCT CARRIER) > 1;
如果您想要所有此类匹配的完整记录PART_NO
,然后您可以将以上内容放入 CTE 并重用它:
WITH cte AS (
SELECT PART_NO
FROM CARR_NM
GROUP BY PART_NO
HAVING COUNT(DISTINCT CARRIER) > 1
)
SELECT *
FROM CARR_NM
WHERE PART_NO IN (SELECT PART_NO FROM cte);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)