postgresql - 如何计算postgres模式中每个表上每列的值的出现
问题描述
我正在尝试从我的 postgres (10) 数据库中获取一些审计数据。我想使用一个值,并匹配模式中每个表上的每一列,以查找匹配的数量和百分比。结果集如下所示:
表名 | 列名 | count_matched | count_unmatched | 百分比匹配 |
---|---|---|---|---|
人 | 名 | 10 | 100 | 10% |
人 | 姓 | 5 | 100 | 5% |
这可以做到吗?谢谢!
解决方案
如果您编写代码,循环遍历数据库表会更容易,然后您应该遍历每列的不同值并计算该列中的每个不同值
SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name;
那么您应该使用一些聚合函数来加减并与列的总数进行比较以找到这样的结果。
推荐阅读
- reactjs - 输入文本时出现意外的蓝色边框反应选择
- android - SHA-1 在生成消息时无法在 Firebase 中运行,您能告诉我如何获取新的 SHA-1 吗?
- javascript - 当它是一个函数时,为什么我会得到“this.XXXX 不是一个函数”?
- android - 从我自己的服务器按需更新 Android 应用程序功能
- sql - 如何在按另一列分组时在计算列上使用 where 语句
- material-ui - 如何禁用material-ui按钮上的长按效果?
- react-native - 如何在一定的滚动偏移后触发图像上的动画?
- python - for 循环以 'none' 值结束
- c - 与 QMK 修饰键作斗争
- python-asyncio - 在python中停止事件循环