日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

聚合函數(shù)

聚合函數(shù)用于對目標(biāo)數(shù)值執(zhí)行計算并返回結(jié)果。本文介紹聚合函數(shù)的基本語法及示例。

日志服務(wù)支持如下聚合函數(shù)。

重要 在日志服務(wù)分析語句中,表示字符串的字符必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status"status"表示日志字段status。

函數(shù)名稱

語法

說明

支持SQL

支持SPL

arbitrary函數(shù)

arbitrary(x)

返回x中任意一個非空的值。

×

avg函數(shù)

avg(x)

計算x的算術(shù)平均值。

×

bitwise_and_agg函數(shù)

bitwise_and_agg(x)

返回x中所有值按位與運算(AND)的結(jié)果。

×

bitwise_or_agg函數(shù)

bitwise_or_agg(x)

返回x中所有值按位或運算(OR)的結(jié)果。

×

bool_and函數(shù)

bool_and(boolean expression)

判斷是否所有日志都滿足條件。如果是,則返回true。

bool_and函數(shù)等同于every函數(shù)。

×

bool_or函數(shù)

bool_or(boolean expression)

判斷是否存在日志滿足條件。如果存在,則返回true。

×

checksum函數(shù)

checksum(x)

計算x的校驗和。

×

count函數(shù)

count(*)

統(tǒng)計所有的日志條數(shù)。

×

count(1)

統(tǒng)計所有的日志條數(shù),等同于count(*)。

×

count(x)

統(tǒng)計x中值不為NULL的日志條數(shù)。

×

count_if函數(shù)

count_if(boolean expression)

統(tǒng)計滿足指定條件的日志條數(shù)。

×

every函數(shù)

every(boolean expression)

判斷是否所有日志都滿足條件。如果是,則返回true。

every函數(shù)等同于bool_and函數(shù)。

×

geometric_mean函數(shù)

geometric_mean(x)

計算x的幾何平均數(shù)。

×

kurtosis函數(shù)

kurtosis(x)

計算x的峰度。

×

map_union函數(shù)

map_union(x)

返回一列Map數(shù)據(jù)的并集。 如果Map中存在相同的鍵,則返回的鍵值為其中任意一個鍵的值。

×

max函數(shù)

max(x)

查詢x中的最大值。

×

max(x, n)

查詢x中最大的n個值。返回結(jié)果為數(shù)組。

×

max_by函數(shù)

max_by(x, y)

查詢y為最大值時對應(yīng)的x值。

×

max_by(x, y, n)

查詢最大的ny值對應(yīng)的x值,返回結(jié)果為數(shù)組。

×

min函數(shù)

min(x)

查詢x中最小值。

×

min(x, n)

查詢x中最小的n個值。返回結(jié)果為數(shù)組。

×

min_by函數(shù)

min_by(x, y)

查詢y為最小值時對應(yīng)的x值。

×

min_by(x, y, n)

查詢最小的ny值對應(yīng)的x值。返回結(jié)果為數(shù)組。

×

skewness函數(shù)

skewness(x)

計算x的偏度。

×

sum函數(shù)

sum(x)

計算x的總值。

×

arbitrary函數(shù)

arbitrary函數(shù)用于返回x中任意一個非空的值。

語法

arbitrary(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為任意數(shù)據(jù)類型。

返回值類型

與參數(shù)值的數(shù)據(jù)類型一致。

示例

返回request_method字段中任意一個非空的字段值。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      arbitrary(request_method) AS request_method
  • 查詢和分析結(jié)果arbitrary函數(shù)

avg函數(shù)

avg函數(shù)用于計算x的算術(shù)平均值。

語法

avg(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為double、bigint、decimal或real類型。

返回值類型

double類型。

示例

返回平均延遲時間高于1000微秒的Project。

  • 查詢和分析語句(調(diào)試

    method: PostLogstoreLogs | SELECT
      avg(latency) AS avg_latency,
      Project
    GROUP BY
      Project
    HAVING
      avg_latency > 1000
  • 查詢和分析結(jié)果avg函數(shù)

bitwise_and_agg函數(shù)

bitwise_and_agg函數(shù)用于返回x中所有值按位與運算(AND)的結(jié)果。

語法

bitwise_and_agg(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為bigint類型。

返回值類型

bigint類型(二進(jìn)制形式)。

示例

request_time字段的所有值進(jìn)行按位與運算。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      bitwise_and_agg(status)
  • 查詢和分析結(jié)果AND

bitwise_or_agg函數(shù)

bitwise_or_agg函數(shù)用于返回x中所有值按位或運算(OR)的結(jié)果。

語法

bitwise_or_agg(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為bigint類型。

返回值類型

bigint類型(二進(jìn)制形式)。

示例

request_time字段的所有值進(jìn)行按位或運算。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      bitwise_or_agg(request_length)
  • 查詢和分析結(jié)果OR

bool_and函數(shù)

bool_and函數(shù)用于判斷是否所有日志都滿足條件。如果是,則返回true。bool_and函數(shù)等同于every函數(shù)。

語法

bool_and(boolean expression)

參數(shù)說明

參數(shù)

說明

boolean expression

參數(shù)值為布爾表達(dá)式。

返回值類型

boolean類型。

示例

判斷所有請求的時間是否都小于100秒。如果是,則返回true。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      bool_and(request_time < 100)
  • 查詢和分析結(jié)果bool_and

bool_or函數(shù)

bool_or函數(shù)用于判斷是否存在日志滿足條件。如果存在,則返回true。

語法

bool_or(boolean expression)

參數(shù)說明

參數(shù)

說明

boolean expression

參數(shù)值為布爾表達(dá)式。

返回值類型

boolean類型。

示例

判斷是否存在請求時間小于20秒的請求。如果存在,則返回true。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      bool_or(request_time < 20)
  • 查詢和分析結(jié)果bool_or

checksum函數(shù)

checksum函數(shù)用于計算x的校驗和。

語法

checksum(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為任意數(shù)據(jù)類型。

返回值類型

string類型(BASE 64編碼)。

示例

  • 查詢和分析語句(調(diào)試

    * | SELECT
      checksum(request_method) AS request_method
  • 查詢和分析結(jié)果checksum

count函數(shù)

count函數(shù)用于計數(shù)。

語法

  • 統(tǒng)計所有的日志條數(shù)。

    count(*)
  • 統(tǒng)計所有的日志條數(shù)。等同于count(*)

    count(1)
  • 統(tǒng)計x中值不為NULL的日志條數(shù)。

    count(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為任意數(shù)據(jù)類型。

返回值類型

integer類型。

示例

  • 示例1:統(tǒng)計網(wǎng)站訪問量。

    • 查詢和分析語句(調(diào)試

      * | SELECT
        count(*) AS PV
    • 查詢和分析結(jié)果count函數(shù)

  • 示例2:統(tǒng)計包含request_method字段且字段值不為NULL的日志條數(shù)。

    • 查詢和分析語句(調(diào)試

      * | SELECT
        count(request_method) AS count
    • 查詢和分析結(jié)果count函數(shù)

count_if函數(shù)

count_if函數(shù)用于統(tǒng)計滿足指定條件的日志條數(shù)。

語法

count_if(boolean expression)

參數(shù)說明

參數(shù)

說明

boolean expression

參數(shù)值為布爾表達(dá)式。

返回值類型

integer類型。

示例

統(tǒng)計request_uri字段的值是以file-0結(jié)尾的日志條數(shù)。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      count_if(request_uri like '%file-0') AS count
  • 查詢和分析結(jié)果count函數(shù)

geometric_mean函數(shù)

geometric_mean函數(shù)用于計算x的幾何平均數(shù)。

語法

geometric_mean(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為double、bigint或real類型。

返回值類型

double類型。

示例

統(tǒng)計請求時長的幾何平均值。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      geometric_mean(request_time) AS time
  • 查詢和分析結(jié)果geometric_mean

every函數(shù)

every函數(shù)用于判斷是否所有日志都滿足條件。如果是,則返回true。every函數(shù)等同于bool_and函數(shù)。

語法

every(boolean expression)

參數(shù)說明

參數(shù)

說明

boolean expression

參數(shù)值為布爾表達(dá)式。

返回值類型

boolean類型。

示例

判斷所有請求的時間是否都小于100秒。如果是,則返回true。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      every(request_time < 100)
  • 查詢和分析結(jié)果bool_and

kurtosis函數(shù)

kurtosis函數(shù)用于計算x的峰度。

語法

kurtosis(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為double、bigint類型。

返回值類型

double類型。

示例

計算請求時間的峰度。

  • 查詢和分析語句(調(diào)試

    *| SELECT
      kurtosis(request_time)
  • 查詢和分析結(jié)果kurtosis

map_union函數(shù)

map_union函數(shù)用于返回一列Map數(shù)據(jù)的并集。 如果Map中存在相同的鍵,則返回的鍵值為其中任意一個鍵的值。

語法

map_union(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為map類型。

返回值類型

map類型。

示例

etl_context字段的值(map類型)聚合后,隨機返回其中一個值(map類型)。

  • 字段樣例

    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" }
  • 查詢和分析語句

    * | SELECT
      map_union(
        try_cast(json_parse(etl_context) AS map(varchar, varchar))
      )
  • 查詢和分析結(jié)果 map_union

max函數(shù)

max函數(shù)用于查詢x中最大的值。

語法

  • 查詢x中最大的值。

    max(x)
  • 查詢x中最大的n個值,返回結(jié)果為數(shù)組。

    max(x, n)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為任意數(shù)據(jù)類型。

n

參數(shù)值為正整數(shù)。

返回值類型

與參數(shù)值的數(shù)據(jù)類型一致。

示例

  • 示例1:查詢請求時長的最大值。

    • 查詢和分析語句(調(diào)試

      * | SELECT
        max(request_time) AS max_request_time
    • 查詢和分析結(jié)果MAX函數(shù)

  • 示例2:查詢請求時長的top 10。

    • 查詢和分析語句(調(diào)試

      * | SELECT
        max(request_time, 10) AS "top 10"
    • 查詢和分析結(jié)果max

max_by函數(shù)

max_by函數(shù)支持如下兩種用法。

語法

  • 查詢y為最大值時對應(yīng)的x值。

    max_by(x, y)
  • 查詢最大的ny值對應(yīng)的x值,返回結(jié)果為數(shù)組。

    max_by(x, y, n)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為任意數(shù)據(jù)類型。

y

參數(shù)值為任意數(shù)據(jù)類型。

n

大于0的整數(shù)。

返回值類型

與參數(shù)值的數(shù)據(jù)類型一致。

示例

  • 示例1:統(tǒng)計最高消費訂單對應(yīng)的時間點。

    • 查詢和分析語句

      * | SELECT
        max_by(UsageEndTime, PretaxAmount) AS time
    • 查詢和分析結(jié)果max_by

  • 示例2:統(tǒng)計請求時長最大的3個請求對應(yīng)的請求方法。

    • 查詢和分析語句(調(diào)試

      * | SELECT
        max_by(request_method, request_time, 3) AS method
    • 查詢和分析結(jié)果max_by

min函數(shù)

min函數(shù)用于查詢x中最小值。

語法

  • 查詢x中最小值。

    min(x)
  • 查詢x中最小的n個值,返回結(jié)果為數(shù)組。

    min(x,n)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為任意數(shù)據(jù)類型。

n

參數(shù)值為正整數(shù)。

返回值類型

與參數(shù)值的數(shù)據(jù)類型一致。

示例

  • 示例1:查詢請求時長的最小值。

    • 查詢與分析語句(調(diào)試

      * | SELECT
        min(request_time) AS min_request_time
    • 查詢和分析結(jié)果MIN函數(shù)

  • 示例2:查詢請求時長最小的10個值。

    • 查詢和分析語句(調(diào)試

      * | SELECT
        min(request_time, 10)
    • 查詢和分析結(jié)果min

min_by函數(shù)

min_by函數(shù)支持如下兩種用法。

語法

  • 查詢y為最小值時對應(yīng)的x值。

    min_by(x, y)
  • 查詢最小的ny值對應(yīng)的x值。返回結(jié)果為數(shù)組。

    min_by(x, y, n)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為任意數(shù)據(jù)類型。

y

參數(shù)值為任意數(shù)據(jù)類型。

n

大于0的整數(shù)。

返回值類型

與參數(shù)值的數(shù)據(jù)類型一致。

示例

  • 示例1:返回最小請求時長的請求對應(yīng)的請求方法。

    • 查詢和分析語句(調(diào)試

      * | SELECT
        min_by(request_method, request_time) AS method
    • 查詢和分析結(jié)果min_by

  • 示例2:返回請求時長最小的3個請求對應(yīng)的請求方法。

    • 查詢和分析語句(調(diào)試

      * | SELECT
        min_by(request_method, request_time, 3) AS method
    • 查詢和分析結(jié)果max_by

skewness函數(shù)

skewness函數(shù)用于計算x的偏度。

語法

skewness(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為double、bigint類型。

返回值類型

double類型。

示例

計算請求時間的偏度。

  • 查詢和分析語句(調(diào)試

    *| SELECT
      skewness(request_time) AS skewness
  • 查詢和分析結(jié)果skewness

sum函數(shù)

sum函數(shù)用于計算x的總值。

語法

sum(x)

參數(shù)說明

參數(shù)

說明

x

參數(shù)值為double、bigint、decimal或real類型。

返回值類型

與參數(shù)值的數(shù)據(jù)類型一致。

示例

計算網(wǎng)站每天的訪問流量。

  • 查詢和分析語句(調(diào)試

    * | SELECT
      date_trunc('day', __time__) AS time,
      sum(body_bytes_sent) AS body_bytes_sent
    GROUP BY
      time
    ORDER BY
      time
  • 查詢和分析結(jié)果SUM函數(shù)