[英]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.