gpt4 book ai didi

sql - PostgreSQL 查询列上空值最少的行

转载 作者:行者123 更新时间:2023-11-29 12:07:33 25 4
gpt4 key购买 nike

如何查询输出为列中空值最少的行的行?

我的数据是:

ID         | col1     | col2      | col3      | col4     
-----------+----------+-----------+-----------+-----------
1 | Null |Null | with value| with value
2 |with value|Null | with value| with value
3 |with value|Null | Null | Null

结果会是:

 ID         | col1     | col2      | col3      | col4     
-----------+----------+-----------+-----------+-----------
2 |with value|Null | with value| with value

因为 id 2 是空值最少的记录。任何帮助将不胜感激。谢谢

最佳答案

您可以:

  1. 按空值数(升序)对行进行排序
  2. 将行限制为 1 (LIMIT 1)

您的代码:

SELECT *
FROM your_table
ORDER BY
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 col4 IS NULL THEN 1 ELSE 0 END
LIMIT 1

关于sql - PostgreSQL 查询列上空值最少的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54087474/

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