SQL query to group by day

后端 未结 8 1994
感动是毒
感动是毒 2020-12-04 09:21

I want to list all sales, and group the sum by day.

Sales (saleID INT, amount INT, created DATETIME)

NOTE: I am using SQL Server 2005.

8条回答
  •  一整个雨季
    2020-12-04 09:50

    For SQL Server:

    GROUP BY datepart(year,datefield), 
        datepart(month,datefield), 
        datepart(day,datefield)
    

    or faster (from Q8-Coder):

    GROUP BY dateadd(DAY,0, datediff(day,0, created))
    

    For MySQL:

    GROUP BY year(datefield), month(datefield), day(datefield)
    

    or better (from Jon Bright):

    GROUP BY date(datefield)
    

    For Oracle:

    GROUP BY to_char(datefield, 'yyyy-mm-dd')
    

    or faster (from IronGoofy):

    GROUP BY trunc(created);
    

    For Informix (by Jonathan Leffler):

    GROUP BY date_column
    GROUP BY EXTEND(datetime_column, YEAR TO DAY)
    

提交回复
热议问题