sql - 我的表有多个列,我想获取每列中的值计数并在 postgresql 中分别显示每列的计数值
问题描述
我想从表的每一列中获取每个非空项目的计数值。该表包含 86 列,我希望表格格式的输出具有:
列名 | 数数
感谢您在这方面的任何帮助。谢谢
解决方案
to_jsonb()
您可以使用然后对每个列名进行分组和计数,将所有列动态转换为行:
select j.column_name, count(j.value)
from the_table t
cross join lateral jsonb_each_text(jsonb_strip_nulls(to_jsonb(t))) as j(column_name, value)
group by j.column_name
order by j.column_name;
推荐阅读
- android-source - 如何在 android 10 构建系统中添加第三方包 external/openssh
- sql - SQL 在连接中返回单行
- python - Kivy/Python 如何将一个对象传递给另一个类?
- c++ - 将像素设置为 OLED 显示器 128x64 时出现问题
- azure - 无法在创建知识库向导中选择 QnA 服务
- php - Ifinite/lazy Scrolling in PHP using Ajax 显示了对 XMLHttpRequest 的访问
- android - 想要一个动态大小的ImageView Android
- c# - Listview中的按钮命令未触发
- flutter - 如何根据 Firebase Auth 错误消息在 Flutter 中显示自定义警报对话框?
- python-3.x - POST 不适用于带有 vue 前端的 python 烧瓶应用程序(预检)