Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőre vonatkozik:
Databricks SQL
Databricks Runtime 16.4 és újabb
Összefűzött STRING és BINARY csoporton belüli értékeket ad vissza.
Ez a függvény a listagg függvény aliasa.
Szemantika
string_agg ( [ALL | DISTINCT] expr [, delimiter] )
[ WITHIN GROUP (ORDER BY { sortKey [ sort_direction ] [ nulls_sort_oder ] } [, ...] ) ]
[ FILTER ( WHERE cond ) ]
sort_direction
[ ASC | DESC ]
nulls_sort_order
[ NULLS FIRST | NULLS LAST ]
Ez a függvény ablakfüggvényként is meghívható a OVER záradék használatával, ha a WITHIN GROUP és FILTER záradék hiányzik.
Érvek
exprEgy kifejezés, amely kiértékelve értéket ad a
STRINGvagy aBINARY-re.NULLaz értékek figyelmen kívül lesznek hagyva.delimiterAz összefűzött értékek elválasztásához használt típusnak megfelelő
expr. Az alapértelmezett érték egy üres sztring ('') aSTRINGszámára, és egy nulla hosszúságú bináris (''::BINARY) aBINARYszámára.ORDER BYEgy kifejezés, amely az összefűzés előtt rendezi az értékeket. Az alapértelmezett érték a csoport sorainak sorrendje.
sortKeyEgy kifejezés, amelyen a sorrend definiálva van. Az
sortKeyoszlophivatkozásoknak is jelen kell lenniük aexpr-ben.sort_direction
A rendezési sorrendet adja meg kifejezés szerint.
-
ASC: A kifejezés rendezési iránya növekvő. -
DESC: A kifejezés rendezési sorrendje csökkenő.
Ha a rendezési irány nincs explicit módon megadva, akkor alapértelmezés szerint a sorok növekvő sorrendbe vannak rendezve.
-
nullok_rendezési_sorrendje
Opcionálisan megadja, hogy a NULL értékek nem NULL értékek előtt vagy után lesznek-e visszaadva. Ha
null_sort_ordernincs megadva, akkor a NULL értékek kerülnek előre, ha a rendezési sorrendASC, és a NULL értékek kerülnek a végére, ha a rendezési sorrendDESC.-
NULLS FIRST:NULLa rendszer a rendezési sorrendtől függetlenül először visszaadja az értékeket. -
NULLS LAST:NULLaz értékek a rendezési sorrendtől függetlenül utolsóként jelennek meg.
-
cond: Nem kötelezőBOOLEANkifejezés, amely az összesítéshez használt sorokat szűri.
Visszatérítések
Ha STRING az expr, akkor STRING, egyébként BINARY.
Ha DISTINCT meg van adva, csak az egyedi értékek vannak összesítve, és azoknak sortKey egyeznie exprkell.
Példák
-- Simple example with default delimiter
> SELECT string_agg(col) FROM VALUES ('a'), ('b'), ('c') AS tab(col);
acb
-- Simple example with explicit delimiter
> SELECT string_agg(col, ', ') FROM VALUES ('a'), ('b'), ('c') AS tab(col);
b, a, c
-- Example with nulls
> SELECT string_agg(col) FROM VALUES ('a'), (NULL), ('c') AS tab(col);
ac
-- Example with explicit order
> SELECT string_agg(col) WITHIN GROUP (ORDER BY col DESC)
FROM VALUES ('a'), ('b'), ('c') AS tab(col);
cba
-- Example with DISTINCT
> SELECT string_agg(DISTINCT col)
FROM VALUES ('a'), ('a'), ('b') AS tab(col);
ab
-- Example of FUNCTION_AND_ORDER_EXPRESSION_MISMATCH
> SELECT string_agg(DISTINCT col) WITHIN GROUP (ORDER BY id DESC)
FROM VALUES (1, 'a'), (2, 'b'), (3, 'c') AS tab(id, col);
Error: [INVALID_WITHIN_GROUP_EXPRESSION.MISMATCH_WITH_DISTINCT_INPUT
-- Example with `BINARY`
> SELECT hex(string_agg(col::binary, x'00'))
FROM VALUES (1, 'a'), (2, 'b'), (3, 'c') AS tab(id, col);
6100630062