SQL查询本年每月的数据

这篇具有很好参考价值的文章主要介绍了SQL查询本年每月的数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

--一、以一行数据的形式,显示本年的12月的数据,本示例以2017年为例,根据统计日期字段判断,计算总和,查询语句如下:

select

sum(case when  datepart(month,统计日期)=1 then 支付金额 else 0 end) as '1月',
sum(case when  datepart(month,统计日期)=2 then 支付金额 else 0 end) as '2月',
sum(case when  datepart(month,统计日期)=3 then 支付金额 else 0 end) as '3月',
sum(case when  datepart(month,统计日期)=4 then 支付金额 else 0 end) as '4月',
sum(case when  datepart(month,统计日期)=5 then 支付金额 else 0 end) as '5月',
sum(case when  datepart(month,统计日期)=6 then 支付金额 else 0 end) as '6月',
sum(case when  datepart(month,统计日期)=7 then 支付金额 else 0 end) as '7月',
sum(case when  datepart(month,统计日期)=8 then 支付金额 else 0 end) as '8月',
sum(case when  datepart(month,统计日期)=9 then 支付金额 else 0 end) as '9月',
sum(case when  datepart(month,统计日期)=10 then 支付金额 else 0 end) as '10月',
sum(case when  datepart(month,统计日期)=11 then 支付金额 else 0 end) as '11月',
sum(case when  datepart(month,统计日期)=12 then 支付金额 else 0 end) as '12月'
from TM店铺整体月指标
where datepart(year,统计日期)='2023'

SQL查询本年每月的数据,sql,数据库,前端

--二、根据当前日期,以列的数据形式,显示本年的12个月的数据,查询语句如下:
select  
    统计日期=convert(varchar(10),dateadd(month, 0,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,1,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,2,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,3,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,4,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,5,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,6,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,7,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,8,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,9,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,10,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120) 
    union all select date=convert(varchar(10),dateadd(month,11,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120)

SQL查询本年每月的数据,sql,数据库,前端

--二、具体应用示例:以2017为例,查询语句如下:


	with t as 
( 
    select  统计日期=substring(convert(varchar(10),dateadd(month, 0,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,1,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,2,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,3,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,4,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,5,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,6,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,7,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,8,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
    union all select date=substring(convert(varchar(10),dateadd(month,9,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2)
    union all select date=substring(convert(varchar(10),dateadd(month,10,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2)
    union all select date=substring(convert(varchar(10),dateadd(month,11,convert(varchar(10),DATEADD(year, DATEDIFF(year,0,getdate()), 0),120)),120),6,2) 
)
 select id=ROW_NUMBER()OVER(ORDER BY t1.统计日期),
        统计日期=t1.统计日期+'月',     
        支付金额=sum(isnull(t2.支付金额,0)) 
        from t t1 


		left join
        (
            select substring(convert(varchar,统计日期,120),6,2) as 统计日期,sum(支付金额) as 支付金额--count(*) as counts
            from TM店铺整体月指标  
            where datepart(year,统计日期)='2023' 
            group by substring(convert(varchar,统计日期,120),6,2)  
        ) t2 
        on t1.统计日期= t2.统计日期
        group by t1.统计日期 

SQL查询本年每月的数据,sql,数据库,前端

--sql 查询每一年1到12月的数据
Select Year(统计日期) as 年份,Month(统计日期)  as 月份,SUM(支付金额) as 支付金额
FROM TM店铺整体月指标

Group by Year(统计日期),Month(统计日期)

SQL查询本年每月的数据,sql,数据库,前端

--2、每月
select year(统计日期) 年,month(统计日期) 月,
sum(支付金额) as 支付金额, sum(老买家支付金额) as 老买家支付金额,sum(支付件数) as 支付件数,
sum(直通车消耗) as 直通车消耗,sum(淘宝客佣金) as 淘宝客佣金,sum(钻石展位消耗) as 钻石展位消耗,

sum(成功退款金额) as 成功退款金额,
sum(PC端支付金额) as PC端支付金额,sum(无线端支付金额) as  无线端支付金额,
sum(PC端支付件数) as PC端支付件数,sum(无线端支付件数) as 无线端支付件数

from TM店铺整体日指标

WHERE
  YEAR (统计日期) = 2023   -- 这里假设你要查 2023年的每月的统计。

group by year(统计日期),month(统计日期)

SQL查询本年每月的数据,sql,数据库,前端

--按年统计 
SELECT year(统计日期) 年次, 
sum(支付金额) as 支付金额, sum(老买家支付金额) as 老买家支付金额,sum(支付件数) as 支付件数,
sum(直通车消耗) as 直通车消耗,sum(淘宝客佣金) as 淘宝客佣金,sum(钻石展位消耗) as 钻石展位消耗,

sum(成功退款金额) as 成功退款金额,
sum(PC端支付金额) as PC端支付金额,sum(无线端支付金额) as  无线端支付金额,
sum(PC端支付件数) as PC端支付件数,sum(无线端支付件数) as 无线端支付件数

FROM TM店铺整体月指标 
GROUP BY year(统计日期)

SQL查询本年每月的数据,sql,数据库,前端

--按月逐级累计查询语句:
SELECT a.统计日期, SUM(b.支付金额) as 支付金额  FROM
	(SELECT 统计日期, SUM(支付金额) 支付金额 FROM TM店铺整体月指标 GROUP BY 统计日期) a
INNER JOIN
	(SELECT 统计日期, SUM(支付金额) 支付金额 FROM TM店铺整体月指标 GROUP BY 统计日期) b
ON a.统计日期 >= b.统计日期
GROUP BY a.统计日期
ORDER BY a.统计日期

SQL查询本年每月的数据,sql,数据库,前端

--按周统计 (年度周次)
SELECT datepart(week, 统计日期) 周次, count(1) 销售天数, 

sum(支付金额) as 支付金额, sum(老买家支付金额) as 老买家支付金额,sum(支付件数) as 支付件数,
sum(直通车消耗) as 直通车消耗,sum(淘宝客佣金) as 淘宝客佣金,sum(钻石展位消耗) as 钻石展位消耗,

sum(成功退款金额) as 成功退款金额,
sum(无线端支付金额) as  无线端支付金额,sum(PC端支付金额) as PC端支付金额,
sum(无线端支付件数) as 无线端支付件数, sum(PC端支付件数) as PC端支付件数


FROM TM店铺整体日指标 
WHERE year(统计日期)=year(getdate()) 
GROUP BY datepart(week, 统计日期) 

SQL查询本年每月的数据,sql,数据库,前端

--按周统计 (月份周次)
SELECT weekName 周次,count(1) 销售次数, 

sum(支付金额) as 支付金额, sum(老买家支付金额) as 老买家支付金额,sum(支付件数) as 支付件数,
sum(直通车消耗) as 直通车消耗,sum(淘宝客佣金) as 淘宝客佣金,sum(钻石展位消耗) as 钻石展位消耗,

sum(成功退款金额) as 成功退款金额,
sum(无线端支付金额) as  无线端支付金额,sum(PC端支付金额) as PC端支付金额,
sum(无线端支付件数) as 无线端支付件数, sum(PC端支付件数) as PC端支付件数

from (
SELECT cast(datepart(month,统计日期) as varchar(2)) + '月第'+ cast((datepart(week,统计日期) - datepart(week,convert(varchar(7),统计日期,120) + '-01') + 1) as varchar(2)) + '周'  
weekName,支付金额,老买家支付金额,支付件数,直通车消耗,淘宝客佣金,钻石展位消耗,成功退款金额,无线端支付金额,PC端支付金额,无线端支付件数,PC端支付件数
FROM TM店铺整体日指标 
WHERE year(统计日期)=year(getdate()) 
)tb
GROUP BY weekName 

SQL查询本年每月的数据,sql,数据库,前端

--按季统计 
SELECT datepart(quarter, 统计日期) 季次, count(1) 销售次数,

sum(支付金额) as 支付金额, sum(老买家支付金额) as 老买家支付金额,sum(支付件数) as 支付件数,
sum(直通车消耗) as 直通车消耗,sum(淘宝客佣金) as 淘宝客佣金,sum(钻石展位消耗) as 钻石展位消耗,

sum(成功退款金额) as 成功退款金额,
sum(无线端支付金额) as  无线端支付金额,sum(PC端支付金额) as PC端支付金额,
sum(无线端支付件数) as 无线端支付件数, sum(PC端支付件数) as PC端支付件数

FROM TM店铺整体月指标 
WHERE year(统计日期)=year(getdate()) 
GROUP BY datepart(quarter, 统计日期) 

SQL查询本年每月的数据,sql,数据库,前端文章来源地址https://www.toymoban.com/news/detail-698564.html

到了这里,关于SQL查询本年每月的数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《数据库原理》实验六 SQL数据查询实验

    本系列传送门: 实验二 SQL Server SSMS工具创建和管理数据库及数据表 实验三 SQL Server SSMS工具添加数据 实验四 SQL的数据定义语句 实验五 数据库完整性约束的实现与验证 实验六 SQL数据查询实验 实验六(2) SQL数据查询—连接查询 实验七 SQL的数据更新和视图 实验八 T_SQL编程

    2024年02月03日
    浏览(97)
  • 【数据库】日常使用PL/SQL 登录ORACLE 数据库查询数据

    一、PL/SQL 登录方式 username: ##访问数据库的账号 password: ##访问数据库的密码 Databse: ##数据库IP地址/实例名 数据库集群心跳地址/实例名 Connect as : ##Normal,如果使用sysdba账户登录选择SYSDBA 二、PL/SQL使用SQL语句查询 点击上方导航栏,New,选择SQL Window,即可再次输入要查询的

    2024年02月19日
    浏览(68)
  • WordPress必备数据库SQL查询语句整理

    最近明月给博客和主站都部署了SSL证书,彻彻底底的加入了HTTPS站点行列。这个期间也用到了SQL查询语句来批量的对内链的HTTP前缀做替换,就感觉掌握一些SQL方面的语句还是非常有必要的,这不在【俄语译客】博客上就发现了几条比较实用的,适合 WordPress 实用的SQL语句。于

    2024年02月01日
    浏览(99)
  • SQL Server数据库 -- 表的高级查询

      一、子查询 嵌套子查询 相关子查询 二、查询运算 并运算union 交运算intersect 差运算except 三、函数的使用 if语句 while语句 case语句 四、总结 高级子查询是对查询更灵活的运用,学会了高级查询将对数据库使用有很大的帮助。       在SQL语言中,一个select-from-where语句称为一

    2024年02月13日
    浏览(53)
  • SQL Server数据库 -- 表的基础查询

    一、单表查询基本结构 二、单表查询结构语法 select 聚合函数 where 模糊查询 order by group by having 三、多表查询基本结构 四、多表查询结构语法 内连接 自连接 外连接 五、总结         学习了数据库,在以后公司等地方,你可能不会用到创建数据库或者表格,但是你一定会使

    2024年02月11日
    浏览(92)
  • SQL数据库的查询操作大全(select)

    1、数据库的连接、创建 2、对字段的操作:(alter table) 3、对数据的操作(插入、修改、删除) 4、数据查询(select) 5、多表查询(join on) 6、约束操作 四、数据库查询大全(select) 1、select 字段名 from 表; 2、In查询:用于 过滤 你所需要查询的内容                

    2023年04月08日
    浏览(71)
  • 数据库SQL Server实验报告 之 SQL语言进行简单查询(3/8)

    实验名称          SQL语言进行简单查询 注意:原版word在下载资源里面(免费下载) 实验目的及要求: 掌握各种查询的SQL脚本写法,包括SELECT、FROM、WHERE、GROUP BY、HAVING子句的用法,特别要求比较内连接、外连接的结果 在XSGL数据库中,使用各种查询条件完成指定的查询

    2024年02月02日
    浏览(56)
  • 数据库学习笔记-----SQL查询语句和代码演示

    SQL不区分大小写,本文是邹兆年老师的课件和课堂的部分内容总结,部分比较细的内容请看课件 Db笔记(1).pdf 数值型: 整型:INT/SMALLINT/BIGINT        4个字节/两个字节/八个字节 浮点型:NUMERIC/DECIMAL(p,s):定点数,p位有效数字,小数点后s位                               

    2023年04月12日
    浏览(65)
  • clickhouse数据库 使用http 方式交付查询sql

    今天使用clickhouse 的HTTP 方式进行查询语句 clickhouse  服务  搭建在192.168.0.111 上面 那么我们如何快速的去查询呢   如下 我们可以使用curl 功能 或者直接在浏览器上输入对应的查询命令  如下: 说明: 前面的IP 是我们clickhouse所在的服务器IP底子 端口      8123     默认的H

    2024年01月25日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包