我有一个表名作为顾问,有4个字段(id,name,user_type,创建日期)。我需要编写一个mysql查询来返回每个月的user_type计数。即在我的表中,用户类型是个人,组(I,G)有10个条目。 4个是个人,6个是组。 2月份有2人登记,8月登记。 4月组成员在7月和2月8日注册。所以我的输出是
1)7月份个人登记的数量? 2)7月份的团体登记数量? 3)8月份个人登记的数量? 4)8月份个人登记的数量?
id | Name | user_type | joined_date
-------------------------------------
1 | john | I | 2014-07-16 00:00:00
2 | james | G | 2014-07-11 00:00:00
3 | george| I | 2014-08-11 00:00:00
4 | aby | I | 2014-07-11 00:00:00
5 | padma | G | 2014-08-11 00:00:00
6 | Mick | G | 2014-08-16 00:00:00
7 | Bony | G | 2014-07-21 00:00:00
8 | Sebas | I | 2014-08-11 00:00:00
9 | danie | G | 2014-07-11 00:00:00
10 | davi | G | 2014-07-01 00:00:00
individual_count |Group_count| Month
----------------------------------
2 | 4 | July
2 | 2 | August
我需要在条形图中填充此日期。我对最后几天的查询有点困惑。请尽可能帮助我。 提前致谢
答案 0 :(得分:2)
SELECT
COUNT(i.id) AS individual_count,
COUNT(g.id) AS Group_count,
DATE_FORMAT(u.joined_date, '%M') AS `Month`
FROM usertable AS u
LEFT JOIN usertable AS i ON u.id= i.id AND i.user_type = 'I'
LEFT JOIN usertable AS g ON u.id= g.id AND g.user_type = 'G'
GROUP BY DATE_FORMAT(u.joined_date, '%M')
这应该可以为您提供您正在寻找的结果。
答案 1 :(得分:0)