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

MySQL单查询统计一列中值为1及大于1的出现次数

实现方法

可以通过条件聚合在单条SQL中完成统计,核心思路是用CASE WHEN配合聚合函数分别计算符合条件的行数。

假设你的表名为your_table,目标列名为column(因column是SQL关键字,需用反引号包裹),查询语句如下:

SELECT
  COUNT(CASE WHEN `column` = 1 THEN 1 END) AS one,
  COUNT(CASE WHEN `column` > 1 THEN 1 END) AS greater_than_one
FROM your_table;

说明

  • CASE WHEN column = 1 THEN 1 END:当列值等于1时返回1,否则返回NULL;COUNT会忽略NULL值,因此最终统计的就是值为1的行数。
  • 同理,CASE WHEN column > 1 THEN 1 END统计值大于1的行数。
  • 若你的SQL方言支持,也可以用SUM(CASE WHEN column = 1 THEN 1 ELSE 0 END)替代COUNT,效果完全一致。

用你提供的样本数据执行该查询,会得到如下结果:

onegreater_than_one
34

内容的提问来源于stack exchange,提问作者Abdul Raheem Dumrai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:55:24