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

MySQL如何统计concern1/concern2/concern3三列同类数据的出现次数

实现思路

将表中三列关注字段的非空有效值合并为单个列,再按关注值分组统计总出现次数即可。

可用MySQL查询语句

请先将语句中的concern_table替换为你实际使用的表名:

SELECT 
  concern_val AS Concern,
  COUNT(*) AS Count
FROM (
  SELECT concern1 AS concern_val FROM concern_table WHERE concern1 IS NOT NULL
  UNION ALL
  SELECT concern2 AS concern_val FROM concern_table WHERE concern2 IS NOT NULL
  UNION ALL
  SELECT concern3 AS concern_val FROM concern_table WHERE concern3 IS NOT NULL
) AS merged_concerns
GROUP BY concern_val
ORDER BY Count DESC;

补充说明

  • 如果你的表中无值的字段存储的是空字符串而非NULL,可以把每个子查询的过滤条件调整为WHERE concernX != ''
  • 语句使用UNION ALL而非UNION,不会自动去重,可保证计数的准确性
  • 查询结果默认按出现次数从高到低排序,和你给出的期望输出顺序一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:21:02