我想从SQL获取图表数据。我没有在PHP中获取所有数据和排序,而是希望使用SQL来解决这个问题。
日期应按日分组,平台应计算并分类到ios和android。
BONUS:如果您可以按所有值而不是给定值对平台进行排序,那就更好了。
以下是SQL中提供的数据:
date |platform
--------------------+----------
2014-04-22 11:15:55 |ios
2014-04-22 12:15:55 |android
2014-04-22 13:15:55 |ios
2014-04-23 11:15:55 |ios
2014-04-23 12:15:55 |android
2014-04-23 13:15:55 |android
期望的输出:
date |ios |android
------------+-------+-----
2014-04-22 |2 |1
2014-04-23 |1 |2
答案 0 :(得分:3)
SELECT `date`,
sum(`ios`) AS `ios`,
sum(`android`) AS `android`
FROM
(SELECT DATE(`date`) AS `date`,
CASE
WHEN `platform`='ios' THEN 1
ELSE 0
END AS `ios`,
CASE
WHEN `platform`='android' THEN 1
ELSE 0
END AS `android`
FROM demo) t
GROUP BY `date`