首页 > 解决方案 > 如何计算postgres模式中每个表上每列的值的出现

问题描述

我正在尝试从我的 postgres (10) 数据库中获取一些审计数据。我想使用一个值,并匹配模式中每个表上的每一列,以查找匹配的数量和百分比。结果集如下所示:

表名 列名 count_matched count_unmatched 百分比匹配
10 100 10%
5 100 5%

这可以做到吗?谢谢!

标签: postgresql

解决方案


如果您编写代码,循环遍历数据库表会更容易,然后您应该遍历每列的不同值并计算该列中的每个不同值

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name;

那么您应该使用一些聚合函数来加减并与列的总数进行比较以找到这样的结果。


推荐阅读