仅获取一周中第一天到一周中当前日期的数据

时间:2019-02-01 23:11:12

标签: mysql sql

所以我想选择本周记录的所有行。

例如。今天是2019年1月30日,即星期三。我想选择从星期一(2019年1月28日)到星期三(当前日)的所有行。当明天到来时,也会选择在星期四添加的行。

这将持续到周日。当下周星期一到来时,它将仅选择该星期一记录的行。 (2019年2月4日)等等。

我只需要获取(本周)数据,而不是过去7天。

rename

仅选择本周添加数据的查询。 马克·佩雷斯(Mark Perez)和保罗·乔治(Paul George)都在当天的同一周。

for i in images.jpeg-*; do
   mv "$i" "images-${i##*-}.jpeg"
done

只会选择日期的最后7天。

2 个答案:

答案 0 :(得分:3)

好吧,您可以使用WEEKDAY()来获取一周中当前日期的天数,如果从当前日期开始则不要输入时间:

SELECT SUBDATE(CURDATE(), WEEKDAY(CURDATE()))

收益:

2019-01-28

Demo on DB Fiddle


Nick评论说,这是一个使用上述方法过滤表的查询示例:

SELECT t.*
FROM test t
WHERE t.idate >= SUBDATE(CURDATE(), WEEKDAY(CURDATE()))
ORDER BY t.idate

Demo on DB Fiddle

答案 1 :(得分:0)

您有一个表格外观示例? 您可以插入带有日期和星期编号的记录。 如果您按周数记录天数,则很容易:

SELECT * FROM weektable WHERE weekno ='5';

..一年中有52个星期..

这将选择第5周的所有内容,并将自动从同一周号添加新行。