PGSQL查询模式下每个表对应的字段量
时间: 2023-03-30 07:00:33 浏览: 162
可以回答这个问题。在 PGSQL 查询模式下,可以使用以下 SQL 语句查询每个表对应的字段量:
SELECT table_name, count(*) as column_count
FROM information_schema.columns
WHERE table_schema = 'public'
GROUP BY table_name;
这将返回每个表的名称和对应的字段数量。
相关问题
pgsql中一个数据库中所有表的所有字段个数如何统计
在 PostgreSQL 中,可以通过查询系统表 `information_schema.columns` 来获取某个数据库中所有表的所有字段信息。可以使用如下 SQL 语句来获取所有表的所有字段个数:
```
SELECT table_name, count(column_name) as column_count
FROM information_schema.columns
WHERE table_schema = 'public'
GROUP BY table_name
ORDER BY table_name;
```
其中,`table_schema = 'public'` 表示查询在 public 模式下的所有表。如果你的表不在 public 模式下,需要修改为对应的模式名称。执行这条 SQL 语句后,会返回每个表的名称和该表中字段的数量。
pgsql数据库中查询某个字段有两个不同状态在近12个月的个数
你可以使用以下的SQL语句来查询某个字段有两个不同状态在近12个月的个数:
```sql
SELECT DATE_TRUNC('month', date_column) AS month,
COUNT(CASE WHEN status_column='status1' THEN 1 END) AS status1_count,
COUNT(CASE WHEN status_column='status2' THEN 1 END) AS status2_count
FROM table_name
WHERE date_column >= NOW() - INTERVAL '12 months'
GROUP BY month
ORDER BY month;
```
在这个SQL语句中,你需要替换以下的内容:
- `date_column`:需要查询的日期字段名。
- `status_column`:需要查询的状态字段名。
- `status1`和`status2`:需要查询的两个状态值。
- `table_name`:需要查询的表名。
- `12 months`:需要查询的时间范围,可以根据需要进行调整。
这个SQL语句会按月份分组,并统计每个月份内状态为`status1`和`status2`的记录个数。结果会按照月份排序,从最早的月份到最近的月份。需要注意的是,如果某个月份内某个状态没有记录,那么在结果中对应的数量会显示为0。
阅读全文