选择星期一和星期五之间的日期

问题描述 投票:1回答:1

我有一张带日期字段的表格(2013-07-11 = 2013年7月11日)。

我需要从任何给定周的星期一(我一周的开始)中选择条目,直到那周结束。

我已经看过可以抓住日期为1周前的行的查询,但我特别需要抓住本周发生的date字段的行,而不管当周的当天是什么。

我目前正在使用它在php中抓取它,但我觉得必须有一个mysql方法来计算本周的开始和结束:

$this_monday = date('Y-m-d', strtotime('previous monday'));
$this_friday = date('Y-m-d',strtotime('this friday'));

$sql = "SELECT `date`, $sign FROM `horoscopes` 
    WHERE `date` >= '$this_monday' AND `date` <= '$this_friday'
    AND type = 'Daily'
    ORDER BY `date` ASC
";

而且我很确定星期一它会在上周星期一结束,而不是星期一。

从这个数据集我想选择以下内容:

+------------+
| date       |
+------------+
| 2013-07-12 |
| 2013-07-11 |
| 2013-07-10 |
| 2013-07-09 |
| 2013-07-17 |
| 2013-07-08 |
| 2013-07-05 |
+------------+

7-8,7-9,7-10,7-11,7-12,无论一周中的哪一天。

php mysql date
1个回答
5
投票

刚刚了解了WEEK() function in mysql

SELECT `date` FROM horoscopes WHERE WEEK(`date`) = WEEK(NOW(), -1);
© www.soinside.com 2019 - 2024. All rights reserved.