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

MySQL如何从表的createdby和publishedby两列中查询去重的用户ID

解决方案

你可以直接使用MySQL的UNION关键字实现需求,UNION在合并多个SELECT结果集时会自动移除重复行,刚好匹配你去重的要求。

具体查询语句

假设你的业务表名为business_table,请替换为你实际的表名:

SELECT createdby AS userId FROM business_table
UNION
SELECT publishedby AS userId FROM business_table;

逻辑说明

  • 第一条SELECT语句提取全表createdby列的所有用户ID
  • 第二条SELECT语句提取全表publishedby列的所有用户ID
  • UNION会自动合并两个结果集并完成去重,不需要额外加DISTINCT关键字
  • 如果你需要过滤空值或者添加其他筛选条件,可以分别在两个SELECT语句后加WHERE子句,需要排序的话也可以在末尾追加排序规则,示例如下:
    SELECT createdby AS userId FROM business_table WHERE createdby IS NOT NULL
    UNION
    SELECT publishedby AS userId FROM business_table WHERE publishedby IS NOT NULL
    ORDER BY userId;
    

示例验证

对应你给出的测试数据,执行上述查询后返回的结果就是102、103、104、105,完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:36:04