Tüm Ürünler
Search
Belge Merkezi

Simple Log Service:Toplama işlevleri

Son Güncelleme:Sep 30, 2026

Toplama işlevi, bir değer kümesinden tek bir değer hesaplar. Bu konuda toplama işlevlerinin temel sözdizimi açıklanır ve kullanım örnekleri sunulur.

Simple Log Service aşağıdaki toplama işlevlerini destekler.

Önemli

Analitik deyimlerde dizeleri kullanmak istiyorsanız dizeleri tek tırnak içine ('') almanız gerekir. Tek tırnak içine alınmamış veya çift tırnak ("") içine alınmış dizeler alan adlarını veya sütun adlarını belirtir. Örneğin,

'status'

status dizesini belirtirken

status

veya

"status"

status günlük alanını belirtir.

Parametre

Sözdizimi

Açıklama

SQL desteği

SPL desteği

arbitrary işlevi

arbitrary(x)

x ifadesindeki NULL olmayan herhangi bir değeri döndürür.

√

×

avg işlevi

avg(x)

x değerlerinin aritmetik ortalamasını hesaplar.

√

×

bitwise_and_agg işlevi

bitwise_and_agg(x)

x içindeki tüm değerlerin bitsel AND sonucunu döndürür.

√

×

bitwise_or_agg işlevi

bitwise_or_agg(x)

x içindeki tüm değerlerin bitsel OR sonucunu döndürür.

√

×

bool_and işlevi

bool_and(boolean expression)

Tüm günlükler koşulu karşılıyorsa true döndürür.

bool_and işlevi every işlevine eşdeğerdir.

√

×

bool_or işlevi

bool_or(boolean expression)

En az bir günlük koşulu karşılıyorsa true döndürür.

√

×

checksum işlevi

checksum(x)

x için sağlama toplamını hesaplar.

√

×

count işlevi

count(*)

Toplam günlük sayısını döndürür.

√

×

count(1)

count(*) ile eşdeğer olan toplam günlük sayısını döndürür.

√

×

count(x)

x değerinin NULL olmadığı günlük sayısını döndürür.

√

×

count_if işlevi

count_if(boolean expression)

Belirtilen koşulu karşılayan günlük sayısını döndürür.

√

×

every işlevi

every(boolean expression)

Tüm günlükler koşulu karşılıyorsa true döndürür.

every işlevi bool_and işlevine eşdeğerdir.

√

×

geometric_mean işlevi

geometric_mean(x)

x değerlerinin geometrik ortalamasını hesaplar.

√

×

kurtosis işlevi

kurtosis(x)

x değerlerinin basıklığını (kurtosis) hesaplar.

√

×

map_union işlevi

map_union(x)

Bir sütundaki haritaların birleşimini döndürür. Bir anahtar birden fazla haritada varsa bu anahtar için rastgele bir değer seçilir.

√

×

max işlevi

max(x)

x içindeki en büyük değeri döndürür.

√

×

max(x, n)

x içindeki en büyük n değeri bir dizi olarak döndürür.

√

×

max_by işlevi

max_by(x, y)

y değerinin maksimum değerine karşılık gelen x değerini döndürür.

√

×

max_by(x, y, n)

y değerinin en büyük n değerine karşılık gelen x değerlerinden oluşan bir dizi döndürür.

√

×

min işlevi

min(x)

x içindeki en küçük değeri döndürür.

√

×

min(x, n)

x içindeki en küçük n değeri bir dizi olarak döndürür.

√

×

min_by işlevi

min_by(x, y)

y değerinin minimum değerine karşılık gelen x değerini döndürür.

√

×

min_by(x, y, n)

y değerinin en küçük n değerine karşılık gelen x değerlerinden oluşan bir dizi döndürür.

√

×

skewness işlevi

skewness(x)

x değerlerinin çarpıklığını (skewness) hesaplar.

√

×

sum işlevi

sum(x)

x değerlerinin toplamını hesaplar.

√

×

Arbitrary işlevi

Arbitrary işlevi, x ifadesindeki NULL olmayan herhangi bir değeri döndürür.

Sözdizimi

arbitrary(x)

Parametreler


Parametre


Açıklama


x


Herhangi bir veri türünde ifade.

Dönüş türü

Giriş ifadesinin veri türüyle eşleşir.

Örnek

request_method alanından NULL olmayan herhangi bir değeri döndürür.

  • Sorgu deyimi (Debug)

    * | SELECT
      arbitrary(request_method) AS request_method
  • request_method sütunu GET gibi bir değer döndürür.

Avg işlevi

Avg işlevi, x içindeki değerlerin ortalamasını döndürür.

Sözdizimi

avg(x)

Parametreler


Parametre


Açıklama


x


Ortalaması alınacak sütun veya ifade. Değerler double, bigint, decimal veya real türünde olmalıdır.

Dönüş değeri türü

Double türünde bir değer.

Örnekler

Ortalama gecikme süresi 1.000 mikrosaniyeden büyük olan projeleri döndürür.

  • Sorgu deyimi (Debug)

    method: PostLogstoreLogs | SELECT
      avg(latency) AS avg_latency,
      Project
    GROUP BY
      Project
    HAVING
      avg_latency > 1000
  • Sorgu, avg_latency değeri 3223.4162679425835 ve Project adı datalab-14 ile başlayan bir kayıt döndürür.

bitwise_and_agg işlevi

Bitwise_and_agg işlevi, x içindeki tüm değerlerin bitsel AND sonucunu döndürür.

Sözdizimi

bitwise_and_agg(x)

Parametreler


Parametre


Açıklama


x


Bigint değeri.

Dönüş değeri türü

Bigint değeri.

Örnekler

status alanındaki tüm değerler üzerinde bitsel AND işlemi gerçekleştirir.

  • Sorgu deyimi (Debug)

    * | SELECT
      bitwise_and_agg(status)
  • Sorgu, değeri 0 olan _col0 adlı tek bir sütun döndürür.

Bitwise_or_agg işlevi

Bitwise_or_agg işlevi, x içindeki tüm değerler üzerinde bitsel OR işlemi sonucunu döndürür.

Sözdizimi

bitwise_or_agg(x)

Parametreler


Parametre


Açıklama


x


Bigint değeri.

Dönüş türü

Bigint değeri.

Örnek

request_time alanının tüm değerleri üzerinde bitsel OR işlemi gerçekleştirir.

  • Sorgu ve analiz deyimi (Debug)

    * | SELECT
      bitwise_or_agg(request_length)
  • Sorgu ve analiz sonuçları, değeri 16383 olan tek bir _col0 sütunu olarak döndürülür.

bool_and işlevi

bool_and işlevi, bir boolean ifadesi tüm günlükler için true ise true döndürür. Bu işlev every işlevine eşdeğerdir.

Sözdizimi

bool_and(boolean expression)

Parametreler


Parametre


Açıklama


boolean expression


Değerlendirilecek boolean ifadesi.

Dönüş değeri türü

boolean

Örnek

Bu örnekte tüm günlükler için request_time değerinin 100'den küçük olup olmadığı kontrol edilir.

  • Sorgu ve analiz deyimi (Debug)

    * | SELECT
      bool_and(request_time < 100)
  • Sorgu ve analiz sonucu true değeridir; bu, tüm günlüklerin request_time değerinin 100'den küçük olduğunu gösterir.

bool_or işlevi

bool_or işlevi, bir boolean ifadesi en az bir günlük için true ise true döndürür.

Sözdizimi

bool_or(boolean expression)

Parametreler


Parametre


Açıklama


boolean expression


Boolean ifadesi.

Dönüş değeri türü

boolean

Örnekler

Herhangi bir günlük için request_time değerinin 20'den küçük olup olmadığını kontrol etmek için:

  • Sorgu ve analiz deyimi (Debug)

    * | SELECT
      bool_or(request_time < 20)
  • Sorgu ve analiz sonuçları, _col0 sütunu için true değerini döndürür; bu, günlükte request_time değeri 20'den küçük olan bir kayıt bulunduğunu gösterir.

Checksum işlevi

Checksum işlevi, x için sağlama toplamını hesaplar.

Sözdizimi

checksum(x)

Parametreler


Parametre


Açıklama


x


Herhangi bir veri türünde ifade.

Dönüş değeri türü

Base64 kodlu dize.

Örnek

  • Sorgu deyimi (Debug)

    * | SELECT
      checksum(request_method) AS request_method
  • request_method alanının sağlama toplamı NDXFdgnd8GE= değeridir.

Count işlevi

Count işlevi günlükleri sayar.

Sözdizimi

  • Toplam günlük sayısını sayar.

    count(*)
  • Toplam günlük sayısını döndürür. Bu, count(*) ile eşdeğerdir.

    count(1)
  • x değeri NULL olmayan günlükleri sayar.

    count(x)

Parametreler


Parametre


Açıklama


x


Herhangi bir veri türünde ifade.

Dönüş değeri türü

Tamsayı.

Örnekler

  • Örnek 1: Web sitesi sayfa görüntülemelerini sayın.

    • Sorgu deyimi (Debug)

      * | SELECT
        count(*) AS PV
    • Sorgu ve analiz sonuçları: Sonuç tablosunda değeri 2009 olan bir PV sütunu bulunur.

  • Örnek 2: request_method alanı null olmayan günlükleri sayın.

    • Sorgu deyimi (Debug)

      * | SELECT
        count(request_method) AS count
    • Sorgu ve analiz sonuçları: Sonuç tablosunda değeri 1954 olan bir count sütunu bulunur.

count_if işlevi

Count_if işlevi, belirtilen bir koşulu karşılayan günlükleri sayar.

Sözdizimi

count_if(boolean expression)

Parametreler


Parametre


Açıklama


boolean expression


Değerlendirilecek koşul.

Dönüş türü

Koşulu karşılayan günlük sayısı.

Örnek

request_uri alanının değeri file-0 ile biten günlük girişlerinin sayısını hesaplayın.

  • Sorgu ve analiz deyimi (debug)

    * | SELECT
      count_if(request_uri like '%file-0') AS count
  • Sorgu ve analiz sonuçları

geometric_mean işlevi

Geometric_mean işlevi, x değerlerinin geometrik ortalamasını hesaplar.

Sözdizimi

geometric_mean(x)

Parametreler


Parametre


Açıklama


x


Double, bigint veya real türünde değer.

Dönüş değeri türü

Double değeri döndürür.

Örnek

İstek süresinin geometrik ortalamasını hesaplayın.

  • Sorgu ve analiz deyimi (Debug)

    * | SELECT
      geometric_mean(request_time) AS time
  • Sorgu ve analiz sonuçlarında değeri 39.443123208882308 olan bir time sütunu gösterilir.

Every işlevi

every işlevi, bir boolean ifadesi tüm günlükler için true olarak değerlendirilirse true döndürür. Bu işlev bool_and işlevine eşdeğerdir.

Sözdizimi

every(boolean expression)

Parametreler


Parametre


Açıklama


boolean expression


Her günlük için boolean değeri döndüren ifade.

Dönüş değeri türü

Boolean değeri döndürür.

Örnek

Bu örnekte her günlükteki request_time değerinin 100'den küçük olup olmadığı kontrol edilir.

  • Sorgu ve analiz deyimi (Debug)

    * | SELECT
      every(request_time < 100)
  • Sorgu ve analiz sonuçları

Kurtosis işlevi

x değerlerinin basıklığını (kurtosis) hesaplar.

Sözdizimi

kurtosis(x)

Parametreler


Parametre


Açıklama


x


Değer double veya bigint türünde olmalıdır.

Dönüş türü

double

Örnek

Request_time alanının basıklığını (kurtosis) hesaplar.

  • Sorgu deyimi (Debug)

    *| SELECT
      kurtosis(request_time)
  • Sorgu ve analiz sonuçları

    kurtosis
    -3.0006998250171186

map_union işlevi

map_union işlevi, bir sütundaki tüm haritaların birleşimini döndürür. Aynı anahtar birden fazla giriş haritasında varsa sonuçtaki harita için bu anahtarın değeri girişlerden biri arasında deterministik olmayan şekilde seçilir.

Sözdizimi

map_union(x)

Parametreler


Parametre


Açıklama


x


Harita türünde sütun.

Dönüş değeri türü

Harita türünde tek bir değer döndürür.

Örnek

Bu örnekte etl_context alanındaki harita değerleri tek bir haritada toplanır.

  • Örnek alan

    etl_context: {
     project:"datalab-148****6461-cn-chengdu"
     logstore:"internal-etl-log"
     consumer_group:"etl-83****4d1965"
     consumer:"etl-b2d40ed****c8d6-291294"
     shard_id:"0" }
  • Sorgu deyimi

    * | SELECT
      map_union(
        try_cast(json_parse(etl_context) AS map(varchar, varchar))
      )
  • Sorgu ve analiz sonuçları: Sorgu deyimi çalıştırıldıktan sonra sonuç sütunu _col0 olarak adlandırılır ve değer, etl_context'ten ayrıştırılan anahtar-değer çiftlerinden oluşan bir haritadır; consumer_group, shard_id, project, logstore ve consumer gibi alanları ve bunlara karşılık gelen değerleri içerir.

Max işlevi

Max işlevi, x değerinin maksimum değerini döndürür.

Sözdizimi

  • x değerinin maksimum değerini döndürür.

    max(x)
  • x değerinin en büyük n değerinden oluşan bir dizi döndürür.

    max(x, n)

Parametreler


Parametre


Açıklama


x


Herhangi bir ifade.


n


Pozitif tamsayı.

Dönüş değeri türü

Giriş ifadesiyle aynı veri türü.

Örnekler

  • Örnek 1: Maksimum istek süresini bulun.

    • Sorgu deyimi (Debug)

      * | SELECT
        max(request_time) AS max_request_time
    • Sorgu ve analiz sonuçları: max_request_time değeri 80.0 değeridir.

  • Örnek 2: En yüksek 10 istek süresini bulun.

    • Sorgu deyimi (Debug)

      * | SELECT
        max(request_time, 10) AS "top 10"
    • Sorgu ve analiz sonuçları: Sorgu, top 10 sütunu için [80.0,80.0,80.0,80.0,80.0,79.0,79.0,79.0,78.0,78.0] değerini döndürür. Dizi, azalan sırada en büyük 10 request_time değerini içerir.

Max_by işlevi

Max_by işlevi aşağıdaki iki sözdizimini destekler.

Sözdizimi

  • y değerinin maksimum değeri için x değerini döndürür.

    max_by(x, y)
  • y değerinin en büyük n değeri için x değerlerinden oluşan bir dizi döndürür.

    max_by(x, y, n)

Parametreler


Parametre


Açıklama


x


Herhangi bir veri türünde ifade.


y


Herhangi bir veri türünde ifade.


n


Pozitif tamsayı.

Dönüş değeri türü

x değerinin veri türüyle aynı.

Örnekler

  • Örnek 1: Vergi öncesi tutarı en yüksek olan siparişin saatini bulun.

    • Sorgu ve analiz deyimi

      * | SELECT
        max_by(UsageEndTime, PretaxAmount) AS time
    • Sorgu ve analiz sonuçları: time sütunu 1625731025 değerini döndürür.

  • Örnek 2: İstek süreleri en uzun olan üç isteğin istek yöntemlerini bulun.

    • Sorgu ve analiz deyimi (debug)

      * | SELECT
        max_by(request_method, request_time, 3) AS method
    • Sorgu ve analiz sonuçları: method değeri ["POST","POST","POST"] değeridir; bu, request_time göre sıralanan en son üç isteğin yönteminin POST olduğunu gösterir.

min işlevi

Min işlevi, x içindeki minimum değeri döndürür.

Sözdizimi

  • x içindeki minimum değeri döndürür.

    min(x)
  • x içindeki en küçük n değeri bir dizi olarak döndürür.

    min(x,n)

Parametreler


Parametre


Açıklama


x


Herhangi bir veri türünde ifade.


n


Pozitif tamsayı.

Dönüş değeri türü

Giriş ifadesinin veri türüyle aynı.

Örnekler

  • Örnek 1: Minimum istek süresini bulun.

    • Sorgu ve analiz deyimi (Debug)

      * | SELECT
        min(request_time) AS min_request_time
    • Sorgu ve analiz sonuçları, değeri 10.0 olan min_request_time adlı bir sütun döndürür.

  • Örnek 2: En küçük 10 istek süresini bulun.

    • Sorgu ve analiz deyimi (Debug)

      * | SELECT
        min(request_time, 10)
    • Sorgu ve analiz sonuçları, değeri [10.0,10.0,10.0,10.0,10.0,11.0,12.0,12.0,13.0,13.0] olan _col0 adlı bir sütun döndürür.

min_by işlevi

min_by işlevi aşağıdaki iki sözdizimine sahiptir.

Sözdizimi

  • y değerinin minimum değeri için x değerini döndürür.

    min_by(x, y)
  • y değerinin en küçük n değeri için x değerlerinden oluşan bir dizi döndürür.

    min_by(x, y, n)

Parametreler


Parametre


Açıklama


x


Herhangi bir veri türünde ifade.


y


Herhangi bir veri türünde ifade.


n


Pozitif tamsayı.

Dönüş değeri türü

x parametresinin veri türüyle aynı.

Örnekler

  • Örnek 1: İstek süresi minimum olan isteğin istek yöntemini bulun.

    • Sorgu ve analiz deyimi (Debug)

      * | SELECT
        min_by(request_method, request_time) AS method
    • Sorgu ve analiz sonuçları: method sütunu GET değerini döndürür.

  • Örnek 2: İstek süreleri en küçük olan üç isteğin istek yöntemlerini bulun.

    • Sorgu ve analiz deyimi (Debug)

      * | SELECT
        min_by(request_method, request_time, 3) AS method
    • Sorgu ve analiz sonuçları.

Skewness işlevi

skewness işlevi, x ifadesinin çarpıklığını (skewness) hesaplar.

Sözdizimi

skewness(x)

Parametreler


Parametre


Açıklama


x


Double veya bigint türüne dönüşen ifade.

Dönüş değeri türü

double

Örnek

request_time alanındaki değerlerin çarpıklığını hesaplayın.

  • Sorgu ve analiz deyimi (Debug)

    *| SELECT
      skewness(request_time) AS skewness
  • Sorgu ve analiz sonuçları: skewness değeri 0.00042944441602043965 değeridir.

Sum işlevi

Sum işlevi, x ifadesindeki değerleri toplar.

Sözdizimi

sum(x)

Parametreler


Parametre


Açıklama


x


Double, bigint, decimal veya real türüne dönüşen ifade.

Dönüş değeri türü

Giriş ifadesinin veri türüyle aynı.

Örnekler

Bir web sitesinin günlük trafiğini hesaplayın.

  • Sorgu ve analiz deyimi (debug)

    * | SELECT
      date_trunc('day', __time__) AS time,
      sum(body_bytes_sent) AS body_bytes_sent
    GROUP BY
      time
    ORDER BY
      time
  • Sorgu ve analiz sonuçları: Sorgu ve analiz deyimi çalıştırıldıktan sonra günlere göre toplanmış istatistiksel sonuçlar tablosu döndürülür; bu tabloda 2023-09-19 ile 2023-09-23 tarihleri arasındaki toplam beş gün için body_bytes_sent toplamı yer alır.