Aracılığıyla paylaş


window gruplandırma ifadesi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Zaman damgası ifadesi üzerinde sıçrama tabanlı bir kayan pencere oluşturur.

Söz dizimi

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

Argümanlar

  • expr: Pencerenin konusunu belirten bir TIMESTAMP ifadesi.
  • width: Pencerenin genişliğini STRING sabit olarak temsil eden INTERVAL DAY TO SECOND sabiti.
  • slide: Gece yarısından başlangıç saatine kadar olan bir kaymayı temsil eden isteğe bağlı bir STRING sabiti, INTERVAL HOUR TO SECOND sabiti olarak ifade edilir.
  • start: Sonraki pencerenin başlangıcını temsil eden isteğe bağlı bir STRING sabiti, INTERVAL DAY TO SECOND sabiti olarak ifade edilir.

Getiriler

Toplama işlevleriyle birlikte çalıştırılabilir bir gruplama kümesi döndürür. GROUP BY sütun adı 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.

Eğer her gruptaki satırlar çakışıyorsa slide<width. Varsayılan olarak slide eşittir width , bu nedenle expr gruplar halinde bölümlenir. Pencereleme 1970-01-01 00:00:00 UTC + start konumunda baş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