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

如何将同表中两条分组统计SELECT查询的结果合并为单条?

可以合并为单条查询

当然可以合并,你只需要用条件聚合在同一个GROUP BY查询里同时计算两个统计值,而且原第二条查询里的DISTINCT是多余的(GROUP BY product_category已经会为每个品类返回唯一一行结果,DISTINCT在这里起不到任何作用)。

合并后的完整查询语句如下:

SELECT 
  product_category,
  COUNT(product_category) AS total_records, -- 各品类总记录数
  COUNT(CASE WHEN is_click = true THEN 1 END) AS clicked_records -- 各品类is_click为true的记录数
FROM marketingimpression
GROUP BY product_category

补充说明:

  • COUNT(product_category) 等价于 COUNT(*)(只要product_category不为NULL),用来统计每个品类的总记录数。
  • COUNT(CASE WHEN is_click = true THEN 1 END) 会只统计满足is_click = true的记录数,因为不满足条件时CASE语句返回NULL,而COUNT函数会忽略NULL值。你也可以用SUM(CASE WHEN is_click = true THEN 1 ELSE 0 END)实现同样的效果,两者在结果上没有区别,看个人习惯选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:33:08