Hive
僅當每個唯一值的記錄多於 N 條時才進行 SQL 過濾
這是我的範例 SQL 語句:
SELECT DAY, name, value FROM my_table WHERE DAY = '${date}' GROUP BY DAY name, value ORDER BY name ASC
例如,“名稱”列中有 3 個唯一名稱:Alice、Bob、Clark。
Alice 有 5 行,Bob 有 9 行,Clark 有 12 行。
如果具有相同值的行 > 10 行,我想添加一個過濾器。‘Clark’ 在這種情況下滿足。
如何添加這個?在哪裡?
歡迎。
這就是你想要的。但也請遵循下面給出的說明。
SELECT day, ip_address, user_name, timestamp, count(ip_address) AS tct FROM my_table WHERE day = current_date() GROUP BY ip_address HAVING tct> 10 ORDER BY ip_address ASC
- 不要使用 select * 而是給出特定的列名。
- 您在問題中談到每個名稱的計數,但您的程式碼按 DAY、名稱、值分組 - 檢查它是否適合您。
- 最好(總是)列出您的資料結構和所需的輸出以及您的程式碼以獲得最佳答案。