2017-01-27 57 views
-1

如何從上週一至週日選擇數據。像這樣選擇上週一至週日的數據

`WHERE 
    `order`.order_createdAt >= date_sub(date_sub(curdate(), interval day(curdate()) - 1 day), interval 1 month) 
and `order`.order_createdAt < date_sub(curdate(), interval day(curdate()) - 1 day)` 

這個顯示上個月的數據 Upd。發現這個

`WHERE WEEK (order_createdAt) = WEEK(current_date)-1 
AND YEAR(order_createdAt) = YEAR(current_date);` 

但它從過去的週日需要到週六

+0

你的意思是過去的星期一? – shmosel

+1

提供一些示例數據或創建您的SQL小提琴http://sqlfiddle.com/並要求一些預期的輸出 –

+0

@shmosel是的,過去的星期一 – cruim

回答

1

如果你想檢查Last week MondayThis Sunday,這是說,今天的日期是'2017-01-27'Last week Monday日期將是2017-01-16This Sunday將是2017-01-22,那麼你可以按照下面的查詢,

WHERE 
    `order`.order_createdAt BETWEEN subdate(curdate(),dayofweek(curdate())+5) 
and subdate(curdate(),dayofweek(curdate())-1)` 

希望這會幫助你。

+0

這是顯示過去星期一至星期六的數據。你確定這個查詢會得到相同的數據? – cruim

+0

明天它也會得到相同的數據。 – Viki888