簡體   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