Share via


window gruplandırma ifadesi

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi yes Databricks Runtime olarak işaretlendi

Zaman damgası ifadesi üzerinde atlama tabanlı kayan pencere oluşturur.

Sözdizimi

window(expr, width [, slide [, start] ] )

Bağımsız değişken

  • expr: Pencerenin konusunu belirten TIMESTAMP ifadesi.
  • width: Pencerenin genişliğini INTERVAL DAY TO SECOND değişmez değeri olarak temsil eden STRING değişmez değeri.
  • start: Interval DAY TO SECOND değişmez değeri olarak ifade edilen bir sonraki pencerenin başlangıcını temsil eden isteğe bağlı bir STRING değişmez değeri.
  • slide: Gece yarısından başlamaya kadar olan uzaklığı temsil eden isteğe bağlı STRING değişmez değeri, INTERVAL HOUR TO SECOND değişmez değeri olarak ifade edilir.

Döndürür

Toplama işlevleriyle çalıştırılabilir bir gruplama döndürür. GROUP BY sütun adı şeklindedir window. Bu tür STRUCT<start:TIMESTAMP, end:TIMESTAMP>

slide değerinden küçük veya eşit widtholmalıdır. start değerinden slideküçük olmalıdır.

Her gruptaki satırlar çakışıyorsa slide<width . Varsayılan olarak slide eşittir width , bu nedenle expr gruplara ayrılır. Pencereleme konumunda 1970-01-01 00:00:00 UTC + startbaşlar. için start varsayılan değer : '0 SECONDS''

Örnekler

> 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