以周格式显示记录

时间:2018-02-03 05:20:46

标签: php mysql

我有以datetime格式存储的数据,比如

dtime               | one | two | three

2018-01-01 17:52:15 | 1   | 5   | 8
2018-01-02 17:52:15 | 3   | 0   | 6
2018-01-03 17:52:15 | 2   | 3   | 5
2018-01-04 17:52:15 | 7   | 0   | 9
2018-01-05 17:52:15 | 0   | 3   | 1
2018-01-06 17:52:15 | 3   | 6   | 8
2018-01-08 17:52:15 | 7   | 2   | 2
2018-01-09 17:52:15 | 3   | 1   | 5
2018-01-10 17:52:15 | 7   | 6   | 1
2018-01-11 17:52:15 | 5   | 8   | 2
2018-01-12 17:52:15 | 4   | 0   | 1
2018-01-13 17:52:15 | 9   | 7   | 2
2018-01-15 17:52:15 | 2   | 4   | 1

我想以周为单位显示它。

Week1                        Week2 
Monday    | 1 | 5 | 8  
Tuesday   | 3 | 0 | 6
Wednesday | 2 | 3 | 5
Thursday  | 7 | 0 | 9
Friday    | 0 | 3 | 1
Saturday  | 3 | 6 | 8

喜欢这个。 我在我的查询中尝试使用WEEK(dtime)。但是无法得到结果。

2 个答案:

答案 0 :(得分:3)

这应该可以解决问题:

SELECT WEEK(dtime) AS week, DAYOFWEEK(dtime) AS dow, one, two, three
FROM MyTable
ORDER BY dtime ASC

提取数据后,您可以使用PHP将其操作为您喜欢的形状。

答案 1 :(得分:0)

这可能会对您有所帮助:

DAYNAME()提供姓名:

SELECT
  WEEK(dtime, 1) AS weekno,
  DAYNAME(dtime) AS weekday,
  one,
  two,
  three
FROM members
ORDER BY dtime ASC

enter image description here