Zum Inhalt springen

SUMMARIZE

Mit dem Befehl SUMMARIZE können Sie einfach eine Reihe von Aggregaten über eine Tabelle oder eine Abfrage berechnen. Der Befehl SUMMARIZE startet eine Abfrage, die über alle Spalten eine Reihe von Aggregaten berechnet (min, max, approx_unique, avg, std, q25, q50, q75, count) und diese zusammen mit Spaltenname, Spaltentyp und dem Anteil der NULL-Werte in der Spalte zurückgibt. Beachten Sie, dass die Quantile und Perzentile Näherungswerte sind.

Verwendung

Um den Inhalt einer Tabelle zusammenzufassen, verwenden Sie SUMMARIZE gefolgt vom Tabellennamen.

SUMMARIZE tbl;

Um eine Abfrage zusammenzufassen, stellen Sie der Abfrage SUMMARIZE voran.

SUMMARIZE SELECT * FROM tbl;

Beispiel

Unten ein Beispiel für SUMMARIZE auf der Tabelle lineitem der TPC-H-Tabelle SF1, erzeugt mit der tpch-Extension.

INSTALL tpch;
LOAD tpch;
CALL dbgen(sf = 1);
SUMMARIZE lineitem;
column_name column_type min max approx_unique avg std q25 q50 q75 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 in einer Unterabfrage verwenden

SUMMARIZE kann als Unterabfrage verwendet werden. So lässt sich beispielsweise eine Tabelle aus der Zusammenfassung erstellen:

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

Entfernte Tabellen zusammenfassen

Über die httpfs-Extension können entfernte Tabellen mit der Anweisung SUMMARIZE TABLE zusammengefasst werden. Zum Beispiel:

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