繁体   English   中英

仅获取从一周的第一天到一周的当天的数据

[英]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

DB Fiddle 上的演示


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

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

DB Fiddle 上的演示

你有你的桌子看起来如何的例子吗? 您可以插入带有日期和周数的记录。 如果您按周数记录天数,则很容易,例如:

SELECT * FROM 周表 WHERE weekno='5';

.. 一年有 52 周 ..

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM