php - 日期作为列(每天创建报告)

标签 php mysql sql

我有这个查询生成我想要的结果。 我只需要将日期制作成一列

SELECT item, date, SUM(quantity) 
FROM t 
WHERE date between '2015-08-18' and '2015-08-20'
GROUP BY item, date

这是我的 SQL FIDDLE

产生

Output

我想要的结果

result

谁能至少告诉我如何实现我想要的结果?

最佳答案

像这样使用条件聚合

要从 date 中提取 day 使用 DAY()功能

SELECT item,
       SUM(case when day(date) = 18 then quantity else 0 end) as `18`,
       SUM(case when day(date) = 19 then quantity else 0 end) as `19`,
       SUM(case when day(date) = 20 then quantity else 0 end) as `20`
FROM t 
WHERE date between '2015-08-18' and '2015-08-20'
GROUP BY item

SQL FIDDLE DEMO

关于php - 日期作为列(每天创建报告),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32167919/

相关文章:

java - 需要 SOLR 和 PHP 帮助

php - 如何在固定容器中添加滚动条

php - 我怎样才能使这段代码简短且易于阅读?

sql - 对列中的重复数据

MySQL 避免求和运算的空值?

sql - Sql Server 2008 中的字母数字排序

适用于 Android 的 PHP 编辑器?

php在while循环中用变量求和时间

php - CakePHP 查找最近的日期

mysql - 在 R 中使用 RMysql 的 dbGetQuery,如何在结果集上强制字符串数据类型?