按日期对一组数据进行分组

时间:2014-05-25 10:21:36

标签: php mysql sql

由于我刚刚开始捣乱PHP,问题在于一点点。但是我的项目是创建一个基本的统计页面。因此,让我继续说明我正在寻找的内容(以其最基本的形式)。

基本上我有一个具有以下结构的表。 [ TransactionID, Date, Amount ]
我想要做的是按特定日期对所有内容进行分组,并显示该日期发生的所有事务,因此我认为查询看起来像这样。

Select * from table where date = 2014-05-24

好吧,这一切都很好,花花公子,我很容易得到这样的总和,但我怎么能得到一个月甚至一年的交易?

这是一个个人项目,并没有在专业范围内使用,但它是我作为业余爱好工作的东西。

3 个答案:

答案 0 :(得分:1)

尝试使用EXTRACT()功能,例如

     select * from table where EXTRACT(YEAR FROM `date`) = '2014'

     select * from table where EXTRACT(YEAR_MONTH FROM `date`) = '201405'

see date and time functions

答案 1 :(得分:1)

如果您的Date列属于DateTime类型,则可能会看到date functions in Mysql

获取2014-05-24之类特定日期的所有记录:

Select * from table T where Date(T.date) = Date('2014-05-24')

获取2014年特定年份的所有记录:

Select * from table T where Year(T.date) = Year('2014-05-24')

对于像2014年5月这样的特定月份

Select * from table T where Year(T.date) = Year('2014-05-24') 
and 
Month(T.date) = Month('2014-05-24')

答案 2 :(得分:0)

有比我的例子更好的方法,但基本方法可能是:

SELECT * FROM tablename 在哪里,栏目BETWEEN' 2012-12-25 00:00:00' AND' 2012-12-25 23:59:59