sql语句分别按日,按周,按月,按季统计金额

如: 
表:consume_record 
字段:consume (money类型) 
date (datetime类型) 

请问怎么写四条sql语句分别按日,按周,按月,按季统计消费总量. 
如:1月 1200元 
2月 3400元 
3月 2800元 

--按日 
select sum(consume),day([date]) from consume_record where year([date]) = ‘2006‘ group by day([date]) 

--按周quarter 
select sum(consume),datename(week,[date]) from consume_record where year([date]) = ‘2006‘ group by datename(week,[date]) 

--按月 
select sum(consume),month([date]) from consume_record where year([date]) = ‘2006‘ group by month([date]) 

--按季 
select sum(consume),datename(quarter,[date]) from consume_record where year([date]) = ‘2006‘ group by datename(quarter,[date])

--按年
select sum(consume),year([date])  from consume_record group by year([date]) 

 

--指定日期你就看上面的例子变通下呀,无非就是一个聚合函数和Group by 

select [date],sum(consume) from consume_record where [date] between ‘2006-06-01‘ and ‘2006-07-10‘ group by [date]

时间: 2024-10-05 07:15:08

sql语句分别按日,按周,按月,按季统计金额的相关文章

My97DatePicker日期控件实现按日、周、月、季、年选择时间段

 http://www.cnblogs.com/kevin-zlg/p/4631413.html 前台页面需要使用日期控件时,同事选择了My97DatePicker,功能还是挺强大的,在使用过程中需要实现按日.按周.按月.按季度.按年选择时间的功能. 控件自身提供了按日.按月和按年选择的功能,但是选择周和选择季度没有,鉴于方便,在选择周时就使用了选择日的状态,选择了日后再计算这一天所属的周的起始和结束日期. 在选择季度时,使用了选择月份的状态,选择月份后计算所属的季度的开始和结束日期. 控件本身

Mysql按日、周、月进行分组统计

我们在用Mysql抽取数据时候,经常需要按照天.周.月等不同的粒度对数据进行分组统计.而我们的时间可能是“2017/12/5 0:0:0”这种准确的时间.所以在进行分组之前我们需要对时间进行一下处理. DATE_FORMAT是MySQL内置的一个函数,作用是以不同的格式显示日期/时间数据.具体的语法如下: DATE_FORMAT(date,format),其中 date:合法的日期.format:规定日期/时间的输出格式,其中format可使用的格式见文末链接. 下面我们通过具体例子来看如何通过

php 根据当日时间,计算出本日,周,月,季,年,时间戳范围

if( $type == 1) {//当天 $time['start'] = mktime(0, 0, 0, date('m'), date('d'), date('y')); $time['end'] = mktime(0, 0, 0, date('m'), date('d') + 1, date('y'))-1; }else if($type==2){ //周 $time['start'] = mktime(0, 0 , 0,date("m"),date("d"

ORACLE取周、月、季、年的开始时间和结束时间

 1           取周的开始时间和结束时间 取周的开始时间,以星期一为开始. SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'D') + 1 ASA FROM DUAL; A ----------- 2013/11/25 取周的结束时间,以星期日为结束 SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:

LINQ to SQL语句Concat/Union/Intersect/Except--2017年2月22日

Concat/Union/Intersect/Except操作 适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同的集合,不会自动过滤相同项:延迟. 1.简单形式: var q = ( from c in db.Customers select c.Phone ).Concat( from c in db.Customers select c.Fax ).Concat( from e in db.Employees select e.Home

SQL按照日、周、月、年、时间段统计数据

--按日 select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date]) --按周quarter select sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date]) --按月 select

日、周、月活跃用户数,用户流失率

http://blog.sina.com.cn/s/blog_63734d120102wx2w.html 通过上述原文和询问大佬,得到一个解答 DAU(日活跃用户数).WAU(周活跃用户数)MAU(月活跃用户数) 日活跃用户数:当天登陆过一次该网站的用户数量称之为用户活跃数 周活跃和月活跃同理 用户流失率:这个应该是要较长时间来算才有意义,一个月内没有登陆过该网站的用户数量与该网站用户总数量的比例 原文地址:https://www.cnblogs.com/gne-hwz/p/9543981.ht

SQL查询(周、月、季、年)第一天和最后一天

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)  /*本周第一天*/ SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)  /*本月第一天*/ SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)  /*本季第一天*/ SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) /*本年第一天*/ Select dateadd(

ORACLE取周、月、季、年的開始时间和结束时间

 1           取周的開始时间和结束时间 取周的開始时间.以星期一为開始. SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI:SS'),'D') + 1 ASA FROM DUAL; A ----------- 2013/11/25 取周的结束时间.以星期日为结束 SQL>SELECT TRUNC(TO_DATE('2013-11-25 10:31:11','YYYY-MM-DD HH24:MI: