sql - 查询以计算所有雪花视图中的所有行
问题描述
我正在尝试对我的雪花数据库中一组视图中的所有行进行计数。
不幸的是,内置的row_count
frominformation_schema.tables
中不存在。information_schema.views
看来我需要count
每个视图中的所有行,例如:
with view_name as (select table_name
from account_usage.views
where table_schema = 'ACCESS' and RIGHT(table_name,7) = 'CURRENT'
)
select count (*) from view_name;
但这只返回一个结果,而不是每行一个
如果我将其更改select
为包含视图名称,即
select concat('Rows in ', view_name), count (*) from view_name;
…它返回错误“无效标识符'VIEW_NAME'(第5行)”
如何显示所有结果并包含视图名称?
解决方案
您可以创建一个查看 information_schema 的查询来创建一个查询,该查询将逐个查看获取其计数:
select listagg(xx, ' union all ')
from (
select 'select count(*) c, \'' || x || '\' v from ' || x as xx
from (
select TABLE_CATALOG ||'.'|| TABLE_SCHEMA ||'."'||TABLE_NAME||'"' x
from KNOEMA_FORECAST_DATA_ATLAS.INFORMATION_SCHEMA.VIEWS
where table_schema='FORECAST'
)
)
另请参阅如何查找模式中所有视图的行数?
推荐阅读
- react-native - 将功能组件转换为类组件 React
- javascript - 通过 Google Apps 脚本发送电子邮件时出现问题
- git - 如何在远程 git repo 中获取单个文件的 sha
- macos - 试图回到 ZSH 脚本中的“检查点”
- xero-api - 如何使用 xere-node 从 Xero API 获取银行交易记录
- flutter - 可重复使用的 TextStyle 或 BoxDecoration,其中包含 Future 函数 - SharedPrefs - How To?
- node.js - 我设计用于在 nodejs 上生成 jwt 的 API 返回 config.data(包含用户提交数据,包括密码)。如何阻止它?
- javascript - 函数作为 React 子级无效。如果您返回 Component 而不是
从渲染 - wireguard - wg-quick: `wg0' 在 CentOS 7.6 中启动 wireguard 时已经存在
- c# - 当我使用 Invoke 到我想使用的方法时,我不能再调用它了?