【发布时间】:2014-01-22 03:34:06
【问题描述】:
我有一个 mysql 数据库,用于在特定日期按小时返回订单数量。我为此使用了这个 SELECT 语句。
select
hour(datains),sum(valore)
from
ordini
where (stato=10 or stato = 1 ) and DATE(datains) = DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 0 DAY)
group by hour(datains)
order by
id DESC
返回:
+--------------+---------------+
| hour datains | valore |
| 12 | 34 |
| 11 | 56 |
| 10 | 134 |
+-------------------------------
现在我需要有一定天数的列,像这样。
+--------------+---------------+--------------+--------------+
| hour datains | 01-01-2014 | 02-01-2014 | 03-01-2014 |
| 12 | 34 | 34 | 77 |
| 11 | 56 | 0 | 128 |
| 10 | 134 | 66 | 12 |
+------------------------------+-----------------------------+
这可能吗?
【问题讨论】:
-
你会有多少天?整个日历还是只有 3 天?
-
如果可能的话……从 xxxx 到 xxx
-
这可以在数据库层使用自连接或条件聚合来完成;但两者都不是特别理想。为什么不在应用程序的表示层中执行这样的分组?
-
如果可能的话,我想在选择时全部插入...如果不可能...我写一个应用程序..
-
我找到了这个...但它仅适用于 sql server..facebook.com/…
标签: mysql select dynamic-sql