Amazon redshift 使用目录查询时的行计数错误
我在下一页得到了这个查询: 它列出了表名和行数。但行数似乎比实际值错了10倍Amazon redshift 使用目录查询时的行计数错误,amazon-redshift,Amazon Redshift,我在下一页得到了这个查询: 它列出了表名和行数。但行数似乎比实际值错了10倍 select datname, nspname, relname, sum(rows) as rows from pg_class, pg_namespace, pg_database, stv_tbl_perm where pg_namespace.oid = relnamespace and pg_class.oid = stv_tbl_perm.id and pg_database.oid = stv_tbl_p
select datname, nspname, relname, sum(rows) as rows
from pg_class, pg_namespace, pg_database, stv_tbl_perm
where pg_namespace.oid = relnamespace
and pg_class.oid = stv_tbl_perm.id
and pg_database.oid = stv_tbl_perm.db_id
and datname ='tickit'
group by datname, nspname, relname
order by datname, nspname, relname;
sumrows正确吗?这里,试试我的。它还包括数据大小:-D
/*
Ordered view of table sizes.
*/
CREATE VIEW my_schema.vw_table_summary
AS
SELECT db_name
,schema_name
,table_name
,TO_CHAR(rows_total,'999,999,999,999') rows_total
,TO_CHAR(rows_sorted,'999,999,999,999') rows_sorted
,CASE WHEN rows_total > 0
THEN ROUND((CONVERT(NUMERIC,rows_sorted)/CONVERT(NUMERIC,rows_total))*100,2)
ELSE 0.00 END percent_sorted
,COALESCE(size_in_gb,0) size_in_gb
FROM (SELECT id table_id
,datname db_name
,nspname schema_name
,relname table_name
,SUM(rows) rows_total
,SUM(sorted_rows) rows_sorted
FROM stv_tbl_perm
JOIN pg_class
ON pg_class.oid = stv_tbl_perm.id
JOIN pg_namespace
ON pg_namespace.oid = relnamespace
JOIN pg_database
ON pg_database.oid = stv_tbl_perm.db_id
WHERE name NOT LIKE 'pg_%'
AND name NOT LIKE 'stl_%'
AND name NOT LIKE 'stp_%'
AND name NOT LIKE 'padb_%'
AND nspname <> 'pg_catalog'
GROUP BY id, datname, nspname, relname
ORDER BY id, datname, nspname, relname) tbl_det
LEFT
JOIN (SELECT tbl table_id
,ROUND(CONVERT(REAL,COUNT(*))/1024,2) size_in_gb
FROM stv_blocklist bloc
GROUP BY tbl) tbl_size
ON tbl_size.table_id = tbl_det.table_id
ORDER BY db_name
,schema_name
,table_name
;
运行vacuum命令后,我得到了正确的行数。是否可以在同一个查询中获得列数?