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';