簡體   English   中英

德魯伊 sql 查詢 - 對跨記錄的多值字段進行明確計數

[英]druid sql query - count distinctly for a multi value field across records

有沒有辦法對德魯伊 SQL 中的多值字段的不同行進行不同的計數,以獲得特定值,其中值只在數組中計算一次? 例如,假設我有以下記錄:

shippingSpeed 
[standard, standard, standard, ground]
[standard,ground]
[ground,ground]

預期結果:

standard 2
ground 3

我嘗試了下面的查詢,但它聚合了一個數組中的字段計數,然后給出了所有記錄的總計數:

SELECT
"shippingSpeed", count(*)
FROM orders
WHERE __time >= CURRENT_TIMESTAMP - INTERVAL '30' DAY
GROUP BY 1
ORDER BY 2 ASC

結果:

standard 4
ground 4

這是因為多值列上的分組依據會將數組 UNNEST 成多行。 它正確地將每個項目計為一個實例。

如果要刪除重復項,請在攝取時使用屬性定義“shippingSpeed”:“multiValueHandling”:“SORTED_SET”

您可以在此處找到更多詳細信息: https://druid.apache.org/docs/latest/querying/multi-value-dimensions.html#overview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM