MySQL select 查询问题

varchar int int int int
count_date memberadd membercancel membernet memberall

20150101 1 1 1 1
20150102 1 1 1 3
20150131 1 1 1 2 --------------
.......
.......
20150201 2 2 4 1
20150202 2 2 4 2
20150230 2 2 4 1 --------------

需求:
要求得到每个月memberadd,membercancel,membernet这几个列的总和,
但是memberall得拿出当月最后一天的数

 得拿到这样的数据:
          2015-01   3         3      3      2 
          2015-02   6         6      12     1

select substr(count_date,1,7) as count_date, sum(memberadd) as ma, sum(membercancel) as mc, max(membernet) from table group by count_date 试试符合你要求不

 select sum(memberadd) as ma, sum(membercancel) as mc, max(membernet) from table group by datepart(month,日期)

select
month(t.count_date) as date,
sum(t.memberadd) as mema,
sum(t.membercancel) as memc,
sum(t.membernet) as memt,
(select t1.memberall from table t1 where date(t1.count_date)=last_day(t1.count_date)) as memall
from table t
group by month(t.count_date);

参考自:MySQL如何优化GROUP BY http://www.data.5helpyou.com/article237.html