我想從這些資料中計算平均值。我不想將完成少于或等于 3 個訂單的普通用戶包括在內。
我使用此代碼來計算每個用戶的訂單總數:
SELECT DISTINCT `User`, COUNT(`User`) FROM `DB` GROUP BY`User`;
我得到結果:User1 = 9, User2 = 3, User3 = 8。如何計算這些資料的平均值,以便不考慮用戶,平均值為 8.5
date | User | Type
-----------------------------------
17-01-2022 00:00:00 | User1 | A
17-01-2022 00:00:00 | User1 | A
17-01-2022 00:00:00 | User1 | A
17-01-2022 00:00:00 | User2 | A
18-01-2022 00:00:00 | User3 | B
18-01-2022 00:00:00 | User3 | B
18-01-2022 00:00:00 | User3 | B
19-01-2022 00:00:00 | User1 | B
19-01-2022 00:00:00 | User2 | B
19-01-2022 00:00:00 | User2 | C
19-01-2022 00:00:00 | User3 | C
20-01-2022 00:00:00 | User3 | C
20-01-2022 00:00:00 | User3 | C
20-01-2022 00:00:00 | User3 | C
20-01-2022 00:00:00 | User1 | C
21-01-2022 00:00:00 | User1 | A
21-01-2022 00:00:00 | User1 | A
21-01-2022 00:00:00 | User3 | A
21-01-2022 00:00:00 | User1 | A
21-01-2022 00:00:00 | User1 | A
uj5u.com熱心網友回復:
使用HAVING子句排除訂單少于或等于 3 個的用戶,然后計算平均值:
SELECT AVG(counter) AS avg_counter
FROM (
SELECT `User`, COUNT(`User`) AS counter
FROM `DB`
GROUP BY`User`
HAVING counter > 3
) t;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/419740.html
標籤:
