如何水平列出mysql数据

时间:2013-07-11 16:06:42

标签: mysql

我有一张桌子,我试图按小时计算一个不同的列

| Name  | HR  |  # | 
+---+---+-----+----+
| A     | 00  | 10 |
| A     | 01  | 11 |  
| B     | 00  | 8  |
| B     | 01  | 9  | 
| C     | 00  | 6  | 
| C     | 01  | 7  | 
+-----+---+--+--+---+


00  10  8  6
01  11  9  7

我需要按人力资源进行分组,但列出每小时所有字母的数量。我尝试创建一个循环遍历它的程序,但没有运气。

1 个答案:

答案 0 :(得分:0)

也许GROUP_CONCAT()就足够了?

SELECT HR, GROUP_CONCAT(`#`) FROM my_table GROUP BY HR

sqlfiddle上查看。

然后您可以在分隔符上拆分(字符串)结果,默认情况下是逗号,但可以使用{{更改为任何所需字符(例如U+001E,ASCII“记录分隔符”) 1}}关键字。