【问题标题】:SQLite GROUP BY week of rows having dateSQLite GROUP BY 具有日期的行的周数
【发布时间】:2012-05-05 20:20:28
【问题描述】:

我在 SQLite3 中有一个表,其列为 [email, date]

我想计算每周的行数,所以基本上我认为我需要一个 GROUP BYSELECT 语句。

我一直在网上寻找示例,其中一些提到使用 DATEPART,但 SQLite 似乎没有提供。

我可以将行放入 PHP 并尝试从那里对它们进行分组,但我觉得这应该可以在 SQL 中完成。

【问题讨论】:

  • 您尚未接受去年提出的任何问题的答案。
  • @sixfeetsix 我进去解决了这个问题,由于某种原因我忘了接受一些答案 - 谢谢你提醒我。

标签: php sqlite


【解决方案1】:

SQLite 使用 strftime 作为计算时间的替代方法,在 strftime 中获取周数的适当函数是: %W 以十进制数 [00,53] 形式替换为一年中的周数(星期一为一周的第一天)。新年中第一个星期一之前的所有日子都被认为是在第 00 周。根据 strftime docs

所以你可以试试这样的:

SELECT
    strftime('%W',date_column) AS WeekNumber,
    column1,
    column2
FROM Table1
GROUP BY WeekNumber;

这应该会为您提供一个新列,其中包含周数和您要分组的列,希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-15
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多