⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
摘要

SUMMARIZE 命令可以用于轻松计算表或查询的多个聚合。 SUMMARIZE 命令会启动一个查询,该查询计算所有列的多个聚合(minmaxapprox_uniqueavgstdq25q50q75count),并连同列名、列类型以及列中 NULL 值的百分比一起返回。请注意,分位数和百分位数是近似值

用法

要总结表的内容,请使用 SUMMARIZE 后跟表名。

SUMMARIZE tbl;

要总结查询,请在查询前加上 SUMMARIZE

SUMMARIZE SELECT * FROM tbl;

示例

下面是使用 tpch 扩展生成的 TPC-H SF1 表中 lineitem 表的 SUMMARIZE 示例。

INSTALL tpch;
LOAD tpch;
CALL dbgen(sf = 1);
SUMMARIZE lineitem;
列名 (column_name) 列类型 (column_type) min (最小值) max (最大值) approx_unique (近似唯一值) avg (平均值) std (标准差) q25 (25%分位数) q50 (50%分位数) q75 (75%分位数) count (计数) null_percentage (空值百分比)
l_orderkey INTEGER (整型) 1 6000000 1508227 3000279.604204982 1732187.8734803519 1509447 2989869 4485232 6001215 0.0%
l_partkey INTEGER (整型) 1 200000 202598 100017.98932999402 57735.69082650496 49913 99992 150039 6001215 0.0%
l_suppkey INTEGER (整型) 1 10000 10061 5000.602606138924 2886.9619987306114 2501 4999 7500 6001215 0.0%
l_linenumber INTEGER (整型) 1 7 7 3.0005757167506912 1.7324314036519328 2 3 4 6001215 0.0%
l_quantity DECIMAL(15,2) (十进制) 1.00 50.00 50 25.507967136654827 14.426262537016918 13 26 38 6001215 0.0%
l_extendedprice DECIMAL(15,2) (十进制) 901.00 104949.50 923139 38255.138484656854 23300.43871096221 18756 36724 55159 6001215 0.0%
l_discount DECIMAL(15,2) (十进制) 0.00 0.10 11 0.04999943011540163 0.03161985510812596 0 0 0 6001215 0.0%
l_tax DECIMAL(15,2) (十进制) 0.00 0.08 9 0.04001350893110812 0.025816551798842728 0 0 0 6001215 0.0%
l_returnflag VARCHAR (可变字符) A R 3 NULL (空) NULL (空) NULL (空) NULL (空) NULL (空) 6001215 0.0%
l_linestatus VARCHAR (可变字符) F O 2 NULL (空) NULL (空) NULL (空) NULL (空) NULL (空) 6001215 0.0%
l_shipdate DATE (日期) 1992-01-02 1998-12-01 2516 NULL (空) NULL (空) NULL (空) NULL (空) NULL (空) 6001215 0.0%
l_commitdate DATE (日期) 1992-01-31 1998-10-31 2460 NULL (空) NULL (空) NULL (空) NULL (空) NULL (空) 6001215 0.0%
l_receiptdate DATE (日期) 1992-01-04 1998-12-31 2549 NULL (空) NULL (空) NULL (空) NULL (空) NULL (空) 6001215 0.0%
l_shipinstruct VARCHAR (可变字符) COLLECT COD TAKE BACK RETURN 4 NULL (空) NULL (空) NULL (空) NULL (空) NULL (空) 6001215 0.0%
l_shipmode VARCHAR (可变字符) AIR TRUCK 7 NULL (空) NULL (空) NULL (空) NULL (空) NULL (空) 6001215 0.0%
l_comment VARCHAR (可变字符) Tiresias zzle? furiously iro 3558599 NULL (空) NULL (空) NULL (空) NULL (空) NULL (空) 6001215 0.0%

在子查询中使用 SUMMARIZE

SUMMARIZE 可以用作子查询。这允许从摘要创建表,例如

CREATE TABLE tbl_summary AS SELECT * FROM (SUMMARIZE tbl);

总结远程表

可以通过 httpfs 扩展使用 SUMMARIZE TABLE 语句来总结远程表。例如

SUMMARIZE TABLE 'https://blobs.duckdb.org/data/Star_Trek-Season_1.csv';