MySQL 如何根据条件对字段去重:如何区分境内外记录并获取唯一域名?
mysql 中根据条件对字段去重:境内境外区分
问题:在一个表中,需要按照 domain 字段去重,但同时区分 loc 字段中的境内和境外记录。例如,表中有以下数据:
domain loc a.org 华北联通 b.org 华北联通 b.org 华东电信 c.org 西南电信 c.org 西南移动 c.org 华东移动 d.org 华中电信 d.org 西北联通 e.org 境内 f.org 境外
需要得到以下结果:
domain loc a.com 西南连通 a.com 境外 b.com 西北电信 c.com 西南电信
解决方案:
在 mysql 中,可以使用 union all 语句来实现上述需求:
SELECT DISTINCT domain FROM url WHERE loc = "境外" UNION ALL ( SELECT DISTINCT domain FROM url WHERE loc != "境外" )
此 sql 语句首先从表 url 中选择 loc 字段为 "境外" 的所有唯一 domain 值,然后使用 union all 语句将其与选择 loc 字段不等于 "境外" 的所有唯一 domain 值合并。这样一来,最终的结果就包含了所有唯一的 domain 值,并区分了境内和境外记录。
以上就是MySQL 如何根据条件对字段去重:如何区分境内外记录并获取唯一域名?的详细内容,更多请关注其它相关文章!