SQL语句统计每天、每月、每年的数据

最后都变了- 提交于 2020-03-20 15:53:19

1、每年
select year(ordertime) 年,
sum(Total) 销售合计
from 订单表
group by year(ordertime)

2、每月
select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 销售合计
from 订单表
group by year(ordertime),
month(ordertime

3、每日
select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 销售合计
from 订单表
group by year(ordertime),
month(ordertime),
day(ordertime)

另外每日也可以这样:
select convert(char(8),ordertime,112) dt,
sum(Total) 销售合计
from 订单表
group by convert(char(8),ordertime,112)

 

 

 

sql题 如何统计查询一个月中每天的记录

怎么写啊?写出来啊!  比如说要查2010年3月份每天的记录

 

答案

select count(*),substr(t.date,1,10)  from table t where  t.date like '2010-03%' group by substr(t.date,1,10)

 

 

这里date的格式是YYYY-mm-dd hh:mm:ss

 

 

sql 数据分月统计,表中只有每天的数据,现在要求求一年中每个月的统计数据(一条sql

SELECT
  MONTH (  那个日期的字段  ),
  SUM(  需要统计的字段, 比如销售额什么的 )
FROM
  表
WHERE
  YEAR (  那个日期的字段  ) = 2010   -- 这里假设你要查 2010年的每月的统计。
GROUP BY
 MONTH (  那个日期的字段  )

 

 

 

 

 

 

SELECT语句对数据进行统计汇总

用SELECT语句对数据进行统计汇总
集合函数(聚合函数,统计函数)
为了有效处理查询得到的数据集合,SQL Server提供了一系列统计函数.

这些函数可以实现数据集合和汇总:
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 子句指定的分组字段有关

 

 

 

 

 

 

 

 
分类: SQL Server
 
好文要顶 关注我 收藏该文  

1、每年
select year(ordertime) 年,
sum(Total) 销售合计
from 订单表
group by year(ordertime)

2、每月
select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 销售合计
from 订单表
group by year(ordertime),
month(ordertime

3、每日
select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 销售合计
from 订单表
group by year(ordertime),
month(ordertime),
day(ordertime)

另外每日也可以这样:
select convert(char(8),ordertime,112) dt,
sum(Total) 销售合计
from 订单表
group by convert(char(8),ordertime,112)

 

 

 

sql题 如何统计查询一个月中每天的记录

怎么写啊?写出来啊!  比如说要查2010年3月份每天的记录

 

答案

select count(*),substr(t.date,1,10)  from table t where  t.date like '2010-03%' group by substr(t.date,1,10)

 

 

这里date的格式是YYYY-mm-dd hh:mm:ss

 

 

sql 数据分月统计,表中只有每天的数据,现在要求求一年中每个月的统计数据(一条sql

SELECT
  MONTH (  那个日期的字段  ),
  SUM(  需要统计的字段, 比如销售额什么的 )
FROM
  表
WHERE
  YEAR (  那个日期的字段  ) = 2010   -- 这里假设你要查 2010年的每月的统计。
GROUP BY
 MONTH (  那个日期的字段  )

 

 

 

 

 

 

SELECT语句对数据进行统计汇总

用SELECT语句对数据进行统计汇总
集合函数(聚合函数,统计函数)
为了有效处理查询得到的数据集合,SQL Server提供了一系列统计函数.

这些函数可以实现数据集合和汇总:
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 子句指定的分组字段有关

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!