在mysql中获取一个学期的数据

时间:2010-09-24 02:02:59

标签: mysql grouping aggregation

亲爱的所有..我想做一些报告,获得一个学期的数据。 这个学期从四月开始,每年九月结束。 但是对于第二学期,它将从10月到3月(明年)获得数据。 如何进行此分组或聚合?我现在只是基本的查询:

select * from dt_tb where `dt` >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH) 

1 个答案:

答案 0 :(得分:0)

类似的东西:

SELECT *
FROM dt_tb
WHERE (dt >= '2010-10-01') AND (dt < '2011-05-01')

(从10月1日开始到5月1日结束的所有数据,即4月30日)。

如果你想要一个滑动窗口,可以使用DATE_SUB()和CURDATE(),但是如果你需要固定的开始和结束时间点,那么学期最好是使用实际日期。

同样,你的方法会从尚未发生的期货学期中获取任何数据,因为你的WHERE子句基本上说“给我数据库中比6个月前更新的一切”。如果您存储下两年的学期,您也可以获得这些学期。通过指定开始/结束日期,您只能获得实际需要的学期。