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