create table test999
(id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
thedate datetime not null,
status varchar(20) not null,
amount decimal (10,2) not null
)
insert into test999 (thedate,status,amount) values (now(),'success',9283.92);
insert into test999 (thedate,status,amount) values (now(),'failed',283.22);
insert into test999 (thedate,status,amount) values (now(),'success',3283.92);
insert into test999 (thedate,status,amount) values (now(),'failed',26.26);
insert into test999 (thedate,status,amount) values (now(),'success',9083.02);
insert into test999 (thedate,status,amount) values (now(),'failed',20093.12);
insert into test999 (thedate,status,amount) values (DATE_SUB(NOW(), INTERVAL 17 DAY),'failed',26.26);
insert into test999 (thedate,status,amount) values (DATE_SUB(NOW(), INTERVAL 17 DAY),'success',9083.02);
insert into test999 (thedate,status,amount) values (DATE_SUB(NOW(), INTERVAL 17 DAY),'failed',20093.12);
SELECT
date(thedate),
SUM(CASE WHEN status='success' then 1 else 0 end
) AS success_count,
SUM(CASE WHEN status='success' then amount else 0 end
) AS success_amount,
SUM(CASE WHEN status='failed' then 1 else 0 end
) AS failed_count,
SUM(CASE WHEN status='failed' then amount else 0 end
) AS failed_amount
FROM test999
group by date(thedate)
order by date(thedate)
date | success_count | success_amt | failed_count | failed_amt
2015-05-11 1 9083.02 2 20119.38
2015-05-28 3 21650.86 3 20402.60
你的意思是一組按日期(如29/05/2015 00:00:00)與其他列上的總和?在創建表格stmt plop,所以我們可以看到結構 – Drew
我的意思是日期喜歡29:05:2015 00:00:00 –
所以你可能有幾行在那裏某個日期,如29/05/2015?如果是這樣,請使用'As'來選擇日期,sum(a),sum(b)等組,並使用'As'來獲得適當的總和列名稱 – Drew