You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用MySQL语句合并两列并生成唯一地点列表?

最优解决方案:用UNION实现去重合并

这问题我太懂了!要把town和region两列合并成唯一的地点列表,UNION就是最直接高效的选择——它本身就自带去重逻辑,比先UNION ALL再套DISTINCT要更优,因为不需要先把所有重复数据都拉出来再做去重操作。

直接用这条SQL语句就行:

SELECT town AS location FROM your_table
UNION
SELECT region AS location FROM your_table;

为啥这方法最好?

  • UNION会自动合并两个查询的结果集,并且自动剔除重复值,完美满足你要Camden和Greater London各出现一次的需求
  • 对比UNION ALL + DISTINCT,UNION在执行时会更早地处理去重,性能更优,尤其是数据量较大的时候

用你给的示例数据测试,执行后会得到这样的结果:

location
---------
Camden
Greater London

小提示:如果你的表数据量不小,给town和region这两列加上普通索引,能让这个合并查询的速度更快哦~

内容的提问来源于stack exchange,提问作者Tim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 09:04:36