SQLite:在单个查询中聚合 null 和非 null 计数

问题描述 投票:0回答:1

在单个查询中获取特定字段/列中包含 Null 和非 Null 值的记录摘要的优雅方法是什么?

我正在使用这个,有点有效,但必须根据结果计算非空值。有问题的表称为“BatchHeaders”,相关字段是“Updated”,一个“Date”字段,当为 Null 时被视为“Not Updated”。

WITH TableA as (
  SELECT 
    count(Id) as Total,
    1 as Idx 
  FROM BatchHeaders
)
SELECT 
  TableA.Total, 
  count(Id) as NotUpdated,
  1 as Idx 
FROM BatchHeaders 
JOIN TableA on TableA.IDX=Idx 
WHERE Updated is NULL;
sql sqlite
1个回答
0
投票

您可以在没有WITH子句的情况下执行此操作,如下所示。

enter code here

选择 COUNT(Id) AS 总计, COUNT(CASE WHEN Updated IS NULL THEN 1 END) AS NotUpdated, COUNT(CASE WHEN Updated IS NOT NULL THEN 1 END) AS Updated FROM BatchHeaders;

© www.soinside.com 2019 - 2024. All rights reserved.