如何筛选数据表指定列中仅出现一次的非重复值
筛选数据表某列仅出现一次的不重复值方案
针对你要提取某列只出现过一次的值的需求,通用实现方式如下:
1. 仅需返回目标列结果
使用GROUP BY分组搭配HAVING条件过滤即可,语法兼容MySQL、PostgreSQL、SQL Server等绝大多数主流数据库,对应你的示例场景查询语句如下:
SELECT id FROM 你的数据表名 GROUP BY id HAVING COUNT(*) = 1;
代入你给出的测试数据,执行后会直接返回结果:b,符合预期。
2. 需要返回对应完整行数据
如果你除了目标列之外还需要获取该值对应的其他字段内容,可以用窗口函数实现:
SELECT * FROM ( SELECT *, COUNT(*) OVER (PARTITION BY id) AS occur_cnt FROM 你的数据表名 ) AS temp_table WHERE occur_cnt = 1;
内容的提问来源于stack exchange,提问作者Akhil Mohan
相关产品推荐
相关产品推荐

