小编Jam*_*ann的帖子

如何从星期四或一周中的任何其他一天开始的每周结果改进我的 SQL 语句?

我是个新手,我在任何地方都找不到这样做的好方法。我有一个数据库表,其中包含在一周内不同时间记录的统计信息。报告周从星期四开始。该表包含一个日期戳列(日期),用于存储数据的记录时间。

我需要提取给定周的数据(报告周从周四开始)。我编写了以下查询:

   SELECT * 
FROM `table` 
WHERE 1 = CASE 
  WHEN WEEKDAY(NOW()) = 0 THEN DATEDIFF(NOW(),`date`) BETWEEN -2 AND 4
  WHEN WEEKDAY(NOW()) = 1 THEN DATEDIFF(NOW(),`date`) BETWEEN -1 AND 5
  WHEN WEEKDAY(NOW()) = 2 THEN DATEDIFF(NOW(),`date`) BETWEEN -0 AND 6
  WHEN WEEKDAY(NOW()) = 3 THEN DATEDIFF(NOW(),`date`) BETWEEN -6 AND 0
  WHEN WEEKDAY(NOW()) = 4 THEN DATEDIFF(NOW(),`date`) BETWEEN -5 AND 1
  WHEN WEEKDAY(NOW()) = 5 THEN DATEDIFF(NOW(),`date`) BETWEEN -4 AND 2
  WHEN WEEKDAY(NOW()) = 6 THEN DATEDIFF(NOW(),`date`) BETWEEN -3 AND 3 …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb

8
推荐指数
1
解决办法
6252
查看次数

标签 统计

mariadb ×1

mysql ×1