【问题标题】:Get data by week with sql and php使用sql和php按周获取数据
【发布时间】:2016-10-07 13:19:21
【问题描述】:

我有一个问题,我不知道该怎么做。请帮我出一个主意。所以我有一张桌子:test,有列:

id        begin                    end     
1       2016-06-06 15:30:30     2016-06-08 16:40:40

现在我需要按周获取 id 的计数 结果需要是: 例如,如果这周是第 6 周,我需要得到:

Week           count
 4               10
 5               10
 6               12
 7               19
 8               27

谢谢四个你的帮助

【问题讨论】:

  • 你应该更好地解释预期的结果。
  • 如果当前周是 6,我需要从表 test 获取周数 4,5,6,7,8

标签: php mysql sql php-5.3 php-5.6


【解决方案1】:

好吧,如果begin 是第 4 周,end 是第 5 周,会发生什么?计算的是哪一周?

无论如何,如果我理解你的话,你想要前两周和未来两周:

SELECT s.* FROM (
    SELECT YEAR(`start`) as year_col,WEEK(`start`) as week_col,count(*)
    FROM YourTable t
    GROUP BY year_col,week_col) s
WHERE s.week_col between WEEK(now())-2 and WEEK(now())+2

我还在考虑中添加了年份,因为 2015 年的第 4 周将与 2016 年的第 4 周组合在一起。如果不可能,请将其从查询中排除。

【讨论】:

  • 如果本周没有数据,如何显示week 7 count 0
  • 那是一个完全不同的问题伙伴.. @hareacosticla
  • 你能帮帮我吗?
  • stackoverflow.com/questions/3538858/… 。这和你的问题一样,按照步骤来。 @hareacpsticla
  • 我对这个 sql 有问题..因为如果是多年的数据...例如周 = 23 是数据库中的数据,那么它获取 2015 年周 = 23 的数据, 2014 年,...
猜你喜欢
  • 2017-05-21
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
  • 1970-01-01
  • 2017-03-06
  • 2020-11-18
  • 1970-01-01
  • 2021-09-13
相关资源
最近更新 更多