window
csoportosítási kifejezés
A következőkre vonatkozik: Databricks SQL
Databricks Runtime
Egy időbélyeg-kifejezés fölé húzható csúsztatási ablakot hoz létre.
Syntax
window(expr, width [, slide [, start] ] )
Argumentumok
expr
: AzTIMESTAMP
ablak tárgyát meghatározó kifejezés.width
: AzSTRING
ablak szélességét literálként ábrázolóINTERVAL DAY TO SECOND
literál.slide
: Nem kötelezőSTRING
literál, amely az éjféltől a kezdésig eltolódást jelöl, literálkéntINTERVAL HOUR TO SECOND
kifejezve.start
: A következő ablak kezdetét konstanskéntINTERVAL DAY TO SECOND
kifejező nem kötelezőSTRING
literál.
Válaszok
Olyan csoportosításokat ad vissza, amelyek aggregátumfüggvényekkel működtethetők.
Az GROUP BY
oszlop neve .window
Ez a típus STRUCT<start TIMESTAMP, end TIMESTAMP>
slide
kisebbnek vagy egyenlőnek kell lennie.width
start
kisebbnek kell lennie, mint slide
.
Ha slide
<width
az egyes csoportok sorai átfedésben vannak.
Alapértelmezés szerint slide
egyenlő, width
ezért expr
csoportokba vannak particionálva.
Az ablakozás a következő időpontban 1970-01-01 00:00:00 UTC + start
kezdődik: . Az alapértelmezett érték a következő: start
'0 SECONDS'
"
Példák
> SELECT window, min(val), max(val), count(val)
FROM VALUES (TIMESTAMP'2020-08-01 12:20:21', 17),
(TIMESTAMP'2020-08-01 12:20:22', 12),
(TIMESTAMP'2020-08-01 12:23:10', 8),
(TIMESTAMP'2020-08-01 12:25:05', 11),
(TIMESTAMP'2020-08-01 12:28:59', 15),
(TIMESTAMP'2020-08-01 12:30:01', 23),
(TIMESTAMP'2020-08-01 12:30:15', 2),
(TIMESTAMP'2020-08-01 12:35:22', 16) AS S(stamp, val)
GROUP BY window(stamp, '2 MINUTES 30 SECONDS', '30 SECONDS', '15 SECONDS');
{2020-08-01 12:19:15, 2020-08-01 12:21:45} 12 17 2
{2020-08-01 12:18:15, 2020-08-01 12:20:45} 12 17 2
{2020-08-01 12:20:15, 2020-08-01 12:22:45} 12 17 2
{2020-08-01 12:19:45, 2020-08-01 12:22:15} 12 17 2
{2020-08-01 12:18:45, 2020-08-01 12:21:15} 12 17 2
{2020-08-01 12:21:45, 2020-08-01 12:24:15} 8 8 1
{2020-08-01 12:22:45, 2020-08-01 12:25:15} 8 11 2
{2020-08-01 12:21:15, 2020-08-01 12:23:45} 8 8 1
{2020-08-01 12:22:15, 2020-08-01 12:24:45} 8 8 1
{2020-08-01 12:20:45, 2020-08-01 12:23:15} 8 8 1
{2020-08-01 12:23:45, 2020-08-01 12:26:15} 11 11 1
{2020-08-01 12:23:15, 2020-08-01 12:25:45} 11 11 1
{2020-08-01 12:24:45, 2020-08-01 12:27:15} 11 11 1
{2020-08-01 12:24:15, 2020-08-01 12:26:45} 11 11 1
{2020-08-01 12:27:15, 2020-08-01 12:29:45} 15 15 1
{2020-08-01 12:27:45, 2020-08-01 12:30:15} 15 23 2
{2020-08-01 12:28:45, 2020-08-01 12:31:15} 2 23 3
{2020-08-01 12:26:45, 2020-08-01 12:29:15} 15 15 1
{2020-08-01 12:28:15, 2020-08-01 12:30:45} 2 23 3
{2020-08-01 12:29:45, 2020-08-01 12:32:15} 2 23 2
Kapcsolódó függvények
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: