【发布时间】:2011-12-31 00:27:43
【问题描述】:
我对 MySQL 数据库运行查询以获取按周分组的总访问次数。 表结构为:
|ID (int) | SESSION (char) | TIMESTAMP (datetime) |
我的查询如下所示:
'SELECT COUNT(session), WEEKOFYEAR(timestamp)
FROM stats
GROUP BY WEEKOFYEAR(timestamp)
ORDER BY timestamp ASC';
所以我得到了一组周数,例如 40、41、45 等,以及观看次数。
如何将其转换为可读日期(使用 PHP)?说“第 40 周左右:2000 次访问”是不切实际的。
我正在寻找 StartDate-EndDate/Month/Year 形式的东西,例如。第 5-11/12/2011 周,访问:XXXX。
您以前可能使用过哪些功能?我试过但没有运气。
我的 SQL 查询是正确的方法吗?假设我正在正确查询数据库以了解我想要完成的事情,有没有办法将周数转换为日期/日期跨度?
我也想知道如果一个星期跨越两个月甚至两年会发生什么。
【问题讨论】:
-
-1,我认为这没有任何意义。据我了解,要在 mysql 中返回星期几,数据源也需要是日期。所以,你错过了一大块关键信息。你应该再次修改你的问题。
-
@ajreal 现在好点了吗?我不确定还包括什么。我认为它应该有点普遍。也许是我想的不对?
-
是的,没有那条信息(模式)几乎不可能理解您的问题。好的,回到你的问题,因为你的来源是时间戳(这意味着你可以返回任何格式)但是你正在使用 GROUP BY。 (聚合函数)。我认为这是不可能的......或者您可以添加更多输入示例和您想要的输出。
-
添加一些示例数据和基于该示例数据的预期数据输出。在您的示例中
Week 5-11/12/2011- 2011 年 11 月 12 日是最短日期吗?最大?你是怎么得出的?