gpt4 book ai didi

sql - 计算SQL中一行中的空列

转载 作者:行者123 更新时间:2023-12-03 10:54:59 24 4
gpt4 key购买 nike

我想知道在 SQL 中计算行的空列的可能性,我有一个表 Customer 具有可为空值,只是我想要一个查询,该查询返回某个行(某些客户)的空列数的 int。

最佳答案

此方法为空列分配 1 或 0,并将它们全部加在一起。希望你没有太多的可空列在这里加起来......

SELECT 
((CASE WHEN col1 IS NULL THEN 1 ELSE 0 END)
+ (CASE WHEN col2 IS NULL THEN 1 ELSE 0 END)
+ (CASE WHEN col3 IS NULL THEN 1 ELSE 0 END)
...
...
+ (CASE WHEN col10 IS NULL THEN 1 ELSE 0 END)) AS sum_of_nulls
FROM table
WHERE Customer=some_cust_id

请注意,您也可以使用 IF() 在语法上更简洁地执行此操作。如果您的 RDBMS 支持它。
SELECT 
(IF(col1 IS NULL, 1, 0)
+ IF(col2 IS NULL, 1, 0)
+ IF(col3 IS NULL, 1, 0)
...
...
+ IF(col10 IS NULL, 1, 0)) AS sum_of_nulls
FROM table
WHERE Customer=some_cust_id

我在一张 table 上测试了这个模式,它似乎工作正常。

关于sql - 计算SQL中一行中的空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8596500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com