這是用戶、產品和月份的表格。
CREATE TABLE USERS (user VARCHAR(1),product VARCHAR(1),month INT);
INSERT INTO USERS (user,product,month) VALUES
("A","X",9),("A","X",10),("A","X",10),("A","Y",11),
("B","Y",12),("B","X",10),("C","X",10),("D","Z",11),("D","X",9);
如何僅計算某個產品的用戶數量(也可能在特定月份)?
uj5u.com熱心網友回復:
加入派生表,X通過使用聚合并檢查最小產品是否等于最大產品,您可以讓用戶僅使用產品。然后使用count(DISTINCT ...).
SELECT count(DISTINCT u1.user)
FROM USERS u1
INNER JOIN (SELECT u2.user
FROM USERS u2
GROUP BY u2.user
HAVING min(u2.product) = max(u2.product)
AND min(u2.product) = 'X') upx
ON upx.user = u1.user;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/334331.html
上一篇:遞回函式:超出最大呼叫堆疊大小
