PostgreSQL执行SELECT查询时如何跳过指定列的重复相同值
方案1:使用DISTINCT关键字(最适配当前需求)
直接在查询字段前加DISTINCT即可对返回的complate_set字段自动去重,每个不同值仅返回1条记录,修改后语句如下:
SELECT DISTINCT complate_set FROM info_about_cars WHERE complate_set ILIKE ANY(ARRAY['%1%', '%4%', '%TSI%', '%4motion%']);
方案2:使用GROUP BY(适合后续扩展统计需求)
如果你后续需要统计每个取值的出现次数,可以用GROUP BY实现去重,基础去重写法如下:
SELECT complate_set FROM info_about_cars WHERE complate_set ILIKE ANY(ARRAY['%1%', '%4%', '%TSI%', '%4motion%']) GROUP BY complate_set;
如果要同时统计每个值的出现行数,可以扩展为:
SELECT complate_set, COUNT(*) AS 出现次数 FROM info_about_cars WHERE complate_set ILIKE ANY(ARRAY['%1%', '%4%', '%TSI%', '%4motion%']) GROUP BY complate_set;
单字段去重优先选DISTINCT写法更简洁直观。
内容的提问来源于stack exchange,提问作者Yaroslav
相关产品推荐
相关产品推荐

