C# 选择上周mysql查询中的数据
我有一个带有日期字段的表,我想选择上周、周六到周日(不是最后7天)的所有条目 表值C# 选择上周mysql查询中的数据,c#,mysql,sql,C#,Mysql,Sql,我有一个带有日期字段的表,我想选择上周、周六到周日(不是最后7天)的所有条目 表值 Date ID Value 8/3/2015 8:03 PM a 10 8/4/2015 8:03 PM b 20 8/5/2015 8:03 PM c 30 8/6/2015 8:03 PM d 40 8/7/2015 8:03 PM e 50 8/9/
Date ID Value
8/3/2015 8:03 PM a 10
8/4/2015 8:03 PM b 20
8/5/2015 8:03 PM c 30
8/6/2015 8:03 PM d 40
8/7/2015 8:03 PM e 50
8/9/2015 8:03 PM f 60
8/10/2015 8:03 PM g 70
我只想从最后一个id中选择a、b、c、d、e。如何在这里编写mysql查询?这有点棘手。一种方法是尝试类似于
week()
的方法,但在年初会出现问题
另一种方法是获取周日午夜的日期,并将其用于计算。我认为这个表达是这样的:
date_sub(curdate(), interval (weekday(curdate()) + 1) % 7) - 1 day)
然后可以将其插入where
子句:
select v.*
from values v
where v.date < date_sub(curdate(), interval (weekday(curdate()) + 1) % 7) - 1 day) and
v.date >= date_sub(curdate(), interval (weekday(curdate()) + 1) % 7) - 8 day);
选择v*
从价值观
其中v.date=日期(curdate(),间隔(工作日(curdate())+1)%7-8天);
注意:这个公式可以使用
日期的索引
到目前为止您尝试了什么?@Bulat我尝试使用这个SELECT*FROM studentpurchasedhhistorytable,其中[Purchased date]>=DATEADD(day,-7,GETDATE()),但它只显示所有的索引