C# 选择上周mysql查询中的数据

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/

我有一个带有日期字段的表,我想选择上周、周六到周日(不是最后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/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()),但它只显示所有的索引