如何使用SQL查找nkk相同但tps不同的数据?
找出nkk值相同但tps值不同的数据
可以通过两种常用方法实现需求,以下是具体SQL示例(请将your_table替换为你的实际表名):
方法一:子查询筛选目标nkk后关联原表
先通过分组筛选出存在多种不同tps值的nkk,再查询这些nkk对应的所有记录:
SELECT * FROM your_table WHERE nkk IN ( SELECT nkk FROM your_table GROUP BY nkk HAVING COUNT(DISTINCT tps) > 1 );
方法二:使用窗口函数标记筛选
利用窗口函数统计每个nkk对应的不同tps数量,直接筛选数量大于1的记录:
SELECT nkk, name, tps FROM ( SELECT nkk, name, tps, COUNT(DISTINCT tps) OVER (PARTITION BY nkk) AS tps_count FROM your_table ) AS sub_query WHERE tps_count > 1;
如果需要去除重复的(nkk, tps)组合,可以在SELECT语句中添加DISTINCT关键字:
SELECT DISTINCT nkk, name, tps FROM your_table WHERE nkk IN ( SELECT nkk FROM your_table GROUP BY nkk HAVING COUNT(DISTINCT tps) > 1 );
内容的提问来源于stack exchange,提问作者Ardiana
相关产品推荐
相关产品推荐

