按日期分组一组数据


Grouping a set of data by date

这个问题有点怪,因为我刚刚开始使用PHP。然而,我的项目是创建一个基本的统计页面。那么让我来解释一下我到底在寻找什么(以最基本的形式)。

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

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

好吧,这一切都很好,我可以很容易地得到这样的总和,但是我怎么才能得到某一个月,甚至某一年的交易呢?

这是一个个人项目,不会在专业规模上使用,但这是我作为一个爱好而工作的东西。

如果你的Date列是DateTime类型,你可能会在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')

尝试使用EXTRACT()函数,例如

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

查看日期和时间函数

有比我下面的例子更好的方法,但一个基本的方法可以是:

SELECT * FROM表名