[英]Getting only the data from the first day of the week to the current day of the week
所以我想选择本周记录的所有行。
例如。 今天是 2019 年 1 月 30 日,也就是星期三。 我想选择从星期一(2019 年 1 月 28 日)到星期三(当天)的所有行。 当明天到来时,周四添加的行也将被选中。
这将持续到周日。 当下周星期一到来时,它只会选择那个星期一记录的行。 (2019 年 2 月 4 日)等。
我只需要获取(本周)数据,而不是过去 7 天的数据。
I have a dateadded column
-----------------------------
Firstname|Lastname|dateadded
Michael |Jordan |2019-02-03 <-(Feb 3, 2019)
Mark |Perez |2019-01-30
Paul |George |2019-01-28
John |Wayne |2019-01-25
-----------------------------
仅选择本周添加数据的查询。 马克佩雷斯和保罗乔治在当天的同一周。
select * from names WHERE YEARWEEK(`dateadded`, 1) = YEARWEEK(CURDATE(), 1)
只会选择 Curdate 的最后 7 天。
那么你可以使用WEEKDAY()
来获取一周内当天的天数,并从当前日期中减去:
SELECT SUBDATE(CURDATE(), WEEKDAY(CURDATE()))
产量:
2019-01-28
正如Nick所评论的,这里是一个使用上述方法过滤表的查询示例:
SELECT t.*
FROM test t
WHERE t.idate >= SUBDATE(CURDATE(), WEEKDAY(CURDATE()))
ORDER BY t.idate
你有你的桌子看起来如何的例子吗? 您可以插入带有日期和周数的记录。 如果您按周数记录天数,则很容易,例如:
SELECT * FROM 周表 WHERE weekno='5';
.. 一年有 52 周 ..
这将选择第 5 周中的所有内容,并将自动添加来自同一周数的新行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.