我正在尝试将表格中的查询格式化为具有左下方日期的矩阵,以及白天4个时段下3个分组值的结果。 表格如下:
dated |timed |beforefood|R |C |I|
2017-01-01|08:16:00|breakfast |7.3|35|7|
2017-01-01|12:10:00|lunch |5.3|56|9|
2017-01-01|17:17:00|dinner |6.8|95|6|
2017-01-01|22:12:00|bedtime |7.9|0 |0|
2017-01-02|08:33:00|breakfast |5.6|35|6|
2017-01-02|12:04:00|lunch |6.8|40|7|
2017-01-02|17:00:00|dinner |8.6|50|6|
2017-01-02|22:10:00|bedtime |9.9|0 |0|
2017-01-03|07:33:00|breakfast |6.2|35|6|
2017-01-03|12:00:00|lunch |7.3|56|8|
2017-01-03|17:51:00|dinner |6.4|10|5|
2017-01-03|22:57:00|bedtime |8.4|0 |0|
To be shown as a Matrix
Date Breakfast Lunch Dinner Bed
2017-01-01 R-C-I R-C-I R-C-I R-C-I
2017-01-02 R-C-I R-C-I R-C-I R-C-I
2017-01-03 R-C-I R-C-I R-C-I R-C-I
在上面的例子中,2017-01-01的日期以正确的顺序出现早餐 - > Beditime 然而,第二和第三部分以正确的顺序出现了RCI组,但是回到前面的睡前时间 - >早餐 所以早餐是在睡觉前,午餐在晚餐下,晚餐是午餐,睡前是早餐
第4行是正确的,第5行和第6行是回到正面,这是连续模式
选择使用的语句
SELECT `dated` , GROUP_CONCAT( `R` , ' ', `C` , ' ', `I` ) AS Readings
FROM `My_Test`
AND `beforefood` = 'breakfast'
OR `beforefood` = 'lunch'
OR `beforefood` = 'dinner'
OR `beforefood` = 'bedtime'
GROUP BY `dated`
非常感谢任何指导我正确方向的帮助。