我试图搜索帖子,但我只找到了SQL Server/Access的解决方案.我需要一个MySQL(5.X)的解决方案.
我有一个表(称为历史)有3列:hostid,itemname,itemvalue.
如果我执行select(select * from history),它将返回
+--------+----------+-----------+
| hostid | itemname | itemvalue |
+--------+----------+-----------+
| 1 | A | 10 |
+--------+----------+-----------+
| 1 | B | 3 |
+--------+----------+-----------+
| 2 | A | 9 |
+--------+----------+-----------+
| 2 | c | 40 |
+--------+----------+-----------+
Run Code Online (Sandbox Code Playgroud)
如何查询数据库以返回类似的内容
+--------+------+-----+-----+
| hostid | A | B | C |
+--------+------+-----+-----+
| 1 | 10 | 3 | 0 |
+--------+------+-----+-----+
| 2 | 9 | 0 | 40 …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个查询来创建数据的"表",如下所示:
SELECT cs.`category_id`, cs.`ProcessDate`, cs.`PercentChange`
FROM `Category_Statistics` cs
WHERE cs.`ProcessDate` >= '2011-05-10'
AND cs.`ProcessDate` <= '2011-05-14'
Run Code Online (Sandbox Code Playgroud)
哪个会返回类似的东西:
CategoryId | ProcessDate | PercentChange
-------------------------------------------
category_4 | 2011-05-10 | 10
category_4 | 2011-05-11 | 18
category_4 | 2011-05012 | 12
...
category_7 | 2011-05-10 | 21
category_7 | 2011-05-11 | 7
...
category_12 | 2011-05-10 | 7
category_12 | 2011-05-11 | 15
Run Code Online (Sandbox Code Playgroud)
现在我希望结果是这样的(来自MySQL查询,不受应用程序操纵):
CategoryId | 2011-05-10 | 2011-05-11 | 2011-05-12 | 2011-05-13 | 2011-05-14 |
--------------------------------------------------------------------------------
category_4 | 10 | 18 | …Run Code Online (Sandbox Code Playgroud)