不确定这里是否需要可重现的示例。我在 BigQuery 中有一个大表和宽表(10K 行 x 100 列),我想知道是否有任何列有空值,以及有多少空值。是否有我可以运行的查询,该查询将返回一个 1 行表,指示每列中的空值数,不需要 100 次ifnull调用?
谢谢!
下面是 BigQuery 标准 SQL
#standardSQL
SELECT col_name, COUNT(1) nulls_count
FROM `project.dataset.table` t,
UNNEST(REGEXP_EXTRACT_ALL(TO_JSON_STRING(t), r'"(\w+)":null')) col_name
GROUP BY col_name
Run Code Online (Sandbox Code Playgroud)
而不是只返回一行 - 它返回那些包含 NULL 的列 - 每列并在单独的行中计数 - 如下例所示
Row col_name nulls_count
1 col_a 21
2 col_d 12
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3047 次 |
| 最近记录: |