lead table
lead_id | name | mobile
3710 aaa 888888
3713 bbb 777777
3714 ccc 666666
user table
user_id | email | pass | lead_id
38 ppp ***** 3710
39 qqq ***** 3713
40 rrr ***** 3710
History table
h_id | lead_id | status | user_id
49 3710 not dobale 38
108 3713 doable 38
109 3714 pipeline 38
110 3710 converted 38
111 3715 Login 38
112 3713 converted 38
我想统计 perticuler lead_id 的个体状态。
怎么做?
但对于 lead_id 3710,必须考虑 h_id 110 而不是 49 意味着更大的 h_id 在 lead_id 3713 的情况下相同
输出应该是这样的:
ouput (for user_id 38)
status No
converted - 2 (lead_id is different)
pipeline - 1
login - 1
最佳答案
试试这个:
SELECT h.status, COUNT(DISTINCT lead_id)
FROM History h
INNER JOIN (SELECT user_id, lead_id, MAX(h_id) h_id
FROM History
GROUP BY user_id, lead_id
) AS a ON h.user_id = a.user_id AND h.lead_id = a.lead_id AND h.h_id = a.h_id
WHERE h.user_id = 38
GROUP BY h.status
关于mysql - 如何计算历史表中每个状态的数量请参阅输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27315767/