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

Snowflake中如何合并三查询统计不同数据类型列数?

Snowflake 按表统计多类型列数的合并查询方案

你可以用条件聚合实现单查询输出所有类型的列数统计,这比UNION更适配你的需求——UNION是把多个结果集的行拼接,而你需要的是在同一行展示每个表的三类列数。

最终查询语句

SELECT
    table_name,
    COUNT(CASE WHEN data_type IN ('NUMBER', 'FLOAT') THEN 1 END) AS "COUNT OF NUMERIC COLUMNS",
    COUNT(CASE WHEN data_type IN ('TEXT', 'VARIANT') THEN 1 END) AS "COUNT OF NON-NUMERIC COLUMNS",
    COUNT(CASE WHEN data_type IN ('TIMESTAMP', 'DATE') THEN 1 END) AS "COUNT OF DATE COLUMNS"
FROM information_schema.columns
GROUP BY table_name
ORDER BY table_name;

逻辑说明

  • 每个COUNT(CASE ...)仅统计符合对应数据类型的列:当列类型匹配时返回1,否则返回NULL,而COUNT函数会自动忽略NULL值,最终得到对应类型的列数。
  • 如果需要补充其他归类的类型(比如新增的数值型类型),直接在IN列表里添加即可。
  • 该语句会自动包含所有表,哪怕某类列数为0的表也会显示对应0值,无需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:42:04