如何使用 DISTINCT 关键字在 MySQL 中按条件去重字段?

如何使用 DISTINCT 关键字在 MySQL 中按条件去重字段?

mysql 中按条件 distinct 字段

mysql 中,可以通过 distinct 关键字对查询结果中的重复值进行筛选。不过,在某些情况下,我们需要根据特定条件对字段进行 distinct 操作。

根据所给的表结构,用户希望按 domain 字段进行去重,但需要区分 境内 和 境外。对于此类需求,可以采用以下方法:

如果数据库中存在一个字段表示是否境外,例如 isout,则可以使用 distinct 关键字结合 isout 字段进行去重:

select distinct domAIn, isout from url;
登录后复制

如果数据库中没有字段表示是否境外,则可以使用以下查询语句对 loc 字段进行去重,并且区分 境内 和 境外:

SELECT DISTINCT domain FROM url WHERE loc = "境外" union ALL (   SELECT DISTINCT domain   FROM url   WHERE loc != "境外" );
登录后复制

此查询语句使用 union all 操作将 loc 等于 境外 的记录与 loc 不等于 境外 的记录合并,同时确保 domain 字段去重。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容