跳到主要内容

Summarize

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_namecolumn_typeminmaxapprox_uniqueavgstdq25q50q75countnull_percentage
l_orderkeyINTEGER1600000015082273000279.6042049821732187.873480351915094472989869448523260012150.0%
l_partkeyINTEGER1200000202598100017.9893299940257735.69082650496499139999215003960012150.0%
l_suppkeyINTEGER110000100615000.6026061389242886.961998730611425014999750060012150.0%
l_linenumberINTEGER1773.00057571675069121.732431403651932823460012150.0%
l_quantityDECIMAL(15,2)1.0050.005025.50796713665482714.42626253701691813263860012150.0%
l_extendedpriceDECIMAL(15,2)901.00104949.5092313938255.13848465685423300.4387109622118756367245515960012150.0%
l_discountDECIMAL(15,2)0.000.10110.049999430115401630.0316198551081259600060012150.0%
l_taxDECIMAL(15,2)0.000.0890.040013508931108120.02581655179884272800060012150.0%
l_returnflagVARCHARAR3NULLNULLNULLNULLNULL60012150.0%
l_linestatusVARCHARFO2NULLNULLNULLNULLNULL60012150.0%
l_shipdateDATE1992-01-021998-12-012516NULLNULLNULLNULLNULL60012150.0%
l_commitdateDATE1992-01-311998-10-312460NULLNULLNULLNULLNULL60012150.0%
l_receiptdateDATE1992-01-041998-12-312549NULLNULLNULLNULLNULL60012150.0%
l_shipinstructVARCHARCOLLECT CODTAKE BACK RETURN4NULLNULLNULLNULLNULL60012150.0%
l_shipmodeVARCHARAIRTRUCK7NULLNULLNULLNULLNULL60012150.0%
l_commentVARCHARTiresiaszzle? furiously iro3558599NULLNULLNULLNULLNULL60012150.0%

在子查询中使用 SUMMARIZE

SUMMARIZE 可作为子查询使用。这样可以根据汇总结果创建表,例如:

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

汇总远程表

可通过 httpfs 扩展并使用 SUMMARIZE TABLE 语句对远程表进行汇总。例如:

SUMMARIZE TABLE 'https://${uri}/Star_Trek-Season_1.csv';