SQL查询本年每月的数据

SqlServer 统计1-12月份 每个月的数据 放一行(用于图表展示) SqlServer 统计1-12月份 每个月的数据 (用于图表展示)图标插件 的 X 轴展示月份 Y 轴 展示数据。 阅读详情

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

select sum(case when  datepart(month,CreateDate)=1 then 1 else 0 end) as '1月',
        sum(case when  datepart(month,CreateDate)=2 then 1 else 0 end) as '2月',
        sum(case when  datepart(month,CreateDate)=3 then 1 else 0 end) as '3月',
        sum(case when  datepart(month,CreateDate)=4 then 1 else 0 end) as '4月',
        sum(case when  datepart(month,CreateDate)=5 then 1 else 0 end) as '5月',
        sum(case when  datepart(month,CreateDate)=6 then 1 else 0 end) as '6月',
        sum(case when  datepart(month,CreateDate)=7 then 1 else 0 end) as '7月',
        sum(case when  datepart(month,CreateDate)=8 then 1 else 0 end) as '8月',
        sum(case when  datepart(month,CreateDate)=9 then 1 else 0 end) as '9月',
        sum(case when  datepart(month,CreateDate)=10 then 1 else 0 end) as '10月',
        sum(case when  datepart(month,CreateDate)=11 then 1 else 0 end) as '11月',
        sum(case when  datepart(month,CreateDate)=12 then 1 else 0 end) as '12月'
    from MO_Members
    where datepart(year,CreateDate)='2017' 

查询结果如下:

sql server 查询本年的每个月的数据 - 文章图片

二、根据当前日期,以列的数据形式,显示本年的12个月的数据,查询语句如下:

    select  date=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 server 查询本年的每个月的数据 - 文章图片

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

with t as 
( 
    select  date=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.date),
        date=t1.date+'月',     
        Counts=sum(isnull(t2.counts,0)) 
        from t t1 
        left join
        (
            select substring(convert(varchar,CreateDate,120),6,2) as CreateDate,count(*) as counts
            from MO_Members  
            where datepart(year,CreateDate)='2017' 
            group by substring(convert(varchar,CreateDate,120),6,2)  
        ) t2 
        on t1.date= CreateDate
        group by t1.date 


 

查询结果如下:

sql server 查询本年的每个月的数据 - 文章图片

【Postgresql 基础】查询昨天、本周、本月、上月、本年统计数据 文章目录1、获取当前系统时间2、获取当前日期或时间3、查询昨天的数据4、查询本周的数据5、获取本月、上月数据6、获取本年数据 1、获取当前系统时间 select now(); select current_timestamp; 结果:2020-11-04 16:09:53.247825+08 # now()/current_timestamp展示当前系统的时间,日期格式 2、获取当前日期或时间 select current_date; 结果:2020-11-04 select current_time; 阅读详情

相关推荐

MySQL 数据库的本月数据查询与分析

在本文中,我们探讨了如何使用 MySQL 数据库来查询和分析本月的数据。通过获取当前月份并使用 SQL 查询语句,我们可以轻松地检索本月的数据,并进行各种分析操作。如有任何疑问,请随时提问。在许多应用程序和业务中,对于数据库中的数据进行本月的查询和分析是非常常见的任务。在本文中,我们将探讨如何使用 MySQL 数据库来查询和分析本月的数据,并提供相应的源代码示例。这些示例演示了如何使用 SQL 查询语句对本月数据进行各种分析操作。表中所有日期与当前月份相匹配的记录。这将返回一个整数,代表当前的月份。

ThDebug的博客 779

按月、日统计查询数据SQL、以及case when的使用 -- postgresql、MySQL

按日期统计数据查询

zf_csdn123的博客 6996

大麦APP抢票协议分析:从‘掌密网络’代码看移动端API安全防护

本文深度解析了大麦APP抢票协议的安全防护体系,重点分析了'掌密网络'代码中体现的动态签名、设备指纹和人机验证等关键技术。文章详细介绍了大麦APP如何通过多层次API安全防护应对抢票压力,包括参数加密、请求头部设计和异常处理机制,为移动应用开发者提供了安全实践建议。

weixin_28740299的博客 292

sql 查询每一年1到12月的数据

结果中有2021年,如果只要查今年的数据,在where条件后面加上。注:Time时间字段,Number数据字段,table1表名。此时就只有今年的数据了!

qq_61726905的博客 4062

医药领域知识图谱快速及医药问答项目(项目全过程)

该项目是中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目 Github项目地址:mirrors / liuhuanyong / qasystemonmedicalkg · GitCode 一、项目环境搭建 该部分要十分注意,由于版本升级的问题,一些用法及格式已经不兼容了。 python3.8 下载地址:Python Release Python 3.8.10 | Python.orght...

qq_52062182的博客 9917

Android Camera性能优化概述

做camera性能优化方面的工作有几年了,想写一篇文章简单介绍一下其中涉及到的具体技术,这篇文章会大概介绍一下涉及到的技术。

weixin_42136255的博客 4025

SQL:查询近一年每个月的数据

【代码】SQL:查询近一年每个月的数据。

weixin_51352463的博客 3088

单细胞轨迹分析实战:基于Monocle和CytoTRACE的细胞分化潜能与状态解析

本文提供了基于Monocle和CytoTRACE的单细胞轨迹分析实战指南。通过乳腺癌数据集,详细演示了从数据准备、伪时序分析、细胞分化潜能评估到分支点功能挖掘的全流程。结合两种工具的优势,能有效解析细胞状态动态演变,为发育和疾病研究提供关键见解。

weixin_29070861的博客 480

mysql统计某个时间段的数据

今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 select * from 表名 where to_days( now( ) ) - to_days( 时间字段名) <= 1 当周 SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(表中时间字段,'%Y-%m-%d')) = ...

s_daqing的博客 5829

ZYNQ 系统的IEEE1588 实现方法

zynq IEEE588/PTP 实现方案(讨论稿)

姚家湾博客 1万+

SQL语句统计每天、每月、每年的销售总额

每年 SQL语句统计每天、每月、每年的销售总额 每月 SQL语句统计每天、每月、每年的销售总额 每日 SQL语句统计每天、每月、每年的销售总额 总结 SQL语句统计每天、每月、每年的销售总额 SQL语句统计每天、每月、每年的销售总额 SQL语句统计每天、每月、每年的销售总额 另外一种写法: 按年汇总,统计: select sum(mymoney) as totalmoney, count() as sheets from mytable group by date_format(col, ‘%Y’

weixin_44769957的博客 2万+

3D结构光 vs TOF——手机厂商为何选择TOF方案?

3D视觉感知技术路线分析:结构光与TOF对比 3D视觉感知领域存在结构光和TOF两大主流技术。结构光基于三角定位法,精度高(毫米级)但工作距离短(<1.5米),适合人脸识别等近距离场景;TOF通过测量光脉冲飞行时间计算深度,精度中等(厘米级)但工作距离长(0.5-5米+),更适合AR导航等中远距离应用。手机厂商选型时考虑:前置认证选择结构光(如苹果FaceID),后置场景倾向TOF(安卓阵营),因后者更适配全面屏设计、环境适应性强且成本优势明显。两种技术互补共存,共同推动3D感知应用发展。

致力于lidar应用开发 114

mysql统计近五年、本年每月、近30天

mysql统计近五年、本年每月、近30天每天的总数

m0_65318219的博客 358

《大数据最全面试题-Offer直通车》目录

做好这些不用担心试用期不通过:程序员入职新公司如何快速上手项目本人遇到大数据面试题和参考答案(超过1万字精华版)大数据面试英文自我介绍参考(万字长文)大数据运维应用场景面试题汇总及参考答案(持续更新)万字数据仓库面试题及参考答案数据仓库数据质量监控和处理方法最佳实践数据仓库建模方法万字详解Doris的3种数据模型详解和数据仓库每一层的模型选用大数据面试临阵磨枪不知看什么?看这份心理就有底了-大数据常用技术栈常见面试100道题最全Hive面试题2024年(2万字详解)Elasticsearch 面试题及参考答

大模型大数据攻城狮的专栏 2647

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mysql查询本年度多有月份

SELECT DATE_FORMAT(DATE_ADD( CONCAT(YEAR(DATE(NOW())),'-01-01'), INTERVAL (CAST( help_topic_id AS SIGNED )) MONTH ),'%m') months FROM mysql.help_topic WHERE help_topic_id < 12 ORDER BY months ASC 从另一张表查询本年度各月份数据 SELECT ...

weixin_40935738的博客 741

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SQL函数总结

SQL进阶

weixin_51722520的博客 189

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

sql语句获取本周、本月、本年数据

本周:select * from table where datediff(week,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段本月:select * from table where datediff(Month,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段本季:select * from table ...

weixin_30359021的博客 893

mysql 查询本月、本年的数据

最近策划给了博主一个这样的需求: 用户投放一次垃圾后,在数据库增加一条垃圾投放记录,并给它相应的积分。 然后。用户可以获取自己本月、本年的总积分(将每条记录的积分加起来)排名。 这里附上建表语句 CREATE TABLE `launch_info` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `userId` int(10)...

zhousw1999的博客 1万+

oracle 按每天,每周,每月,每季度,每年查询统计数据

oracle 按每天,每周,每月,每季度,每年查询统计数据 //按天统计 select count(dataid) as 每天操作数量, sum() from tablename group by trunc(createtime, 'DD')) //按自然周统计 select to_char(date,'iw'),sum() from tablename gro...

weixin_30859423的博客 105

【MySQL】一条SQL查询本年度每月即将退休的人数?

通过SQL来查询本年度员工退休情况统计,其中男性60周岁退休,女性副处级以上(含副处)60周岁退休,副处级以下则是55周岁退休。 0、本年度第一天 $year_start = date('Y-01-01 00:00:00'); 1、先得出用户的周岁年龄 SELECT TIMESTAMPDIFF(YEAR, @birthday, '$year_start') ; 2、再通过条件进行判断 SELE...

李查德的专栏 1778

sql查询本年度员工的平均工资

现在有这样一条需求: 求本年度内入职员工的平均工资 核心点: 本年度内的员工的平均工资,如果是今年以前入职的查询今年的 如果是今年入职的查询今年入职的平均工资。 create database Users go Users go create table MyUser( Id int primary key identity(1,1), Name nvarchar(50), Y...

milijiangjun的博客 7602

mysql 查询本周,本月,本年数据sql

查询当周: 从周一开始计算 (1 ,7) 从周日开始计算就删除1 7 SELECT * FROM 表名 WHERE YEARWEEK(date_format(时间字段,'%Y-%m-%d'),1) = YEARWEEK(now(),7); 查询当月: SELECT * FROM 表名 WHERE DATE_FORMAT(字段名, '%Y-%m') = DATE_FORMAT(now(),'%Y-%m') ...

ChuandongTan的博客 5449

sql server 查询本年的每个月的数据

原文:sql server 查询本年的每个月的数据 一、以一行数据的形式,显示本年的12月的数据,本示例以2017年为例,根据CreateDate字段判断,计算总和,查询语句如下: select sum(case when datepart(month,CreateDate)=1 then 1 else 0 end) as '1月', ...

weixin_33724046的博客 2052

MySql查询本周、本月、本年数据(没有数据则补全0)

最近写项目,发现有很多图表统计,需要查询本周、本月、本年数据。但是图表需要两个数组,一个日期数组,一个数据数组。然而数据库查询却只能查询出有数据的日期数据,所以找了很多资料终于能有补全日期和数据的方法。这样查询sql性能可能不太好,慎重使用~~。有更好的建议或者优化欢迎各位大神留言~不多说直接贴SQL语句 –查询本周数据(在国内是周一至周日,在国外是周日至周六。所以这里按国内来) SELECT ...

qq_38930164的博客 2694
上一篇: 通过Source Tree 将本地项目创建到码云上
下一篇: VUE路由详解
余幼时
博客等级 码龄9年 10粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值