我有一张带日期字段的表格(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,无论一周中哪一天。
答案 0 :(得分:5)
SELECT `date` FROM horoscopes WHERE WEEK(`date`) = WEEK(NOW(), -1);