一、每一年
sql
select year(ordertime) as year,count(*) as count from 订单表 group by year(ordertime)
二、每个月
数组
select year(ordertime) as year, month(ordertime) as month, sum(Total) as sun_total from 订单表 group by year(ordertime), month(ordertime)
三、每日
函数
select year(ordertime) as year, month(ordertime) as month, day(ordertime) as day, sum(Total) as sum_total from 订单表 group by year(ordertime), month(ordertime), day(ordertime)
另外每日也能够这样:
spa
select convert(char(8),ordertime,112) dt, sum(Total) 销售合计 from 订单表 group by convert(char(8),ordertime,112)
例一:code
查2010年3月份天天的记录(这里date的格式是YYYY-mm-dd hh:mm:ss)排序
select count(*),substr(t.date,1,10) from table t where t.date like '2010-03%' group by substr(t.date,1,10)
例二:
ci
sql 数据分月统计,表中只有天天的数据,如今要求求一年中每月的统计数据(一条sql)table
SELECT MONTH ( 那个日期的字段 ), SUM( 须要统计的字段, 好比销售额什么的 ) FROM 表 WHERE YEAR ( 那个日期的字段 ) = 2010 -- 这里假设你要查 2010年的每个月的统计。 GROUP BY MONTH ( 那个日期的字段 )
用SELECT语句对数据进行统计汇总class
avg ([ALL|DISTINCT]列名) 求指定数字字段的平均值 sum ([ALL|DISTINCT]列名) 求指定数字字段的总和 max([ALL|DISTINCT]列名) 求指定数字字段中最大值 min ([ALL|DISTINCT]列名) 求指定数字字段中最小值 count([ALL|DISTINCT]列名) 求知足条件记录中指定字段不为空的记录个数 count(*) 求知足条件记录总数
********************************************************************************************** 用GROUP BY子句对记录分类统计汇总 格式: GROUP BY 分组字段名列表[HAVING 条件表达式] 功能:按指定条件对指定字段依次分组进行统计汇总 注: 使用GROUP BY 的语句仍可用ORDER BY子句排序 但必须在GROUP BY以后可使用别名但不容许对SELECT没指定的列排序 HAVING子句是对分组统计后的查询结果进行筛选. 使用GROUP BY 的select语句仍可用WHERE子句指定条件 ********************************************************************************************** 说明: Select 指定的字段必须包含且只含GROUP BY子句中指定的分组字段(能够为它指定别名), 其余必须是由集合函数组成的一个或多个计算列,统计函数中所使用的列不受限制. GROUP BY子句中不容许使用字段或计算列的别名,可直接使用表达式. GROUP BY子句指定表达式时,select指定的字段中能够不包括该表达式. HAVING子句不容许使用别名 HAVING子句必须和GROUP BY一块儿使用,且设置的条件必须与GROUP BY 子句指定的分组字段有关