如何获取当前查询的表或视图名称并统计其记录数?
批量统计表/视图的记录数及对象名称
要统计多个表或视图各自的记录数,同时返回对应的对象名称,直接用UNION ALL拼接多个统计查询即可,示例SQL如下:
SELECT COUNT(*) AS 记录数, 'TableOrViewA' AS 对象名称 FROM TableOrViewA UNION ALL SELECT COUNT(*) AS 记录数, 'TableOrViewB' AS 对象名称 FROM TableOrViewB UNION ALL SELECT COUNT(*) AS 记录数, 'TableOrViewC' AS 对象名称 FROM TableOrViewC
几点实用提示:
- 每个查询里要明确指定对象名称(用单引号括起来的字符串),不然结果里无法区分对应的数据来源
- 优先用
UNION ALL而非UNION,既不会自动去重丢失数据,还能提升查询效率 - 给统计列和对象名列设置别名,能让最终结果集更易读
内容的提问来源于stack exchange,提问作者Christian Phillips
相关产品推荐
相关产品推荐

