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

求正确SQL查询:按指定区域统计date字段空值数量

解决指定区域date字段空值统计问题

你的SQL存在两处语法逻辑错误:

  • SELECT子句中Region和count(*)之间缺少逗号,会触发语法报错
  • GROUP BY子句使用region in ('77', 'LE')是错误用法,GROUP BY应指定分组字段,筛选指定区域的逻辑需放在WHERE条件中

方案1:仅统计指定区域中存在date空值的记录

SELECT Region, COUNT(*) AS Count
FROM tablename
WHERE date IS NULL 
  AND Region IN ('77', 'LE')
GROUP BY Region;

该查询会返回指定的两个区域中,各自date字段为空的记录数,仅当区域存在空值时才会出现在结果集里。

方案2:强制返回所有指定区域,无空值时显示0

如果需要不管指定区域有没有空值,都显示该区域和对应的0计数,可以通过生成目标区域列表后左连接统计结果实现:

WITH target_regions AS (
    SELECT '77' AS Region UNION ALL
    SELECT 'LE' AS Region
)
SELECT tr.Region, COALESCE(t.Count, 0) AS Count
FROM target_regions tr
LEFT JOIN (
    SELECT Region, COUNT(*) AS Count
    FROM tablename
    WHERE date IS NULL
    GROUP BY Region
) t ON tr.Region = t.Region;

COALESCE函数用于将NULL替换为0,确保没有空值的区域也能显示0计数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 22:48:11