Oracle查询1-12月数据
来源:互联网 发布:2017优化设计英语答案 编辑:程序博客网 时间:2024/04/30 16:17
--模拟数据表 create table [TB]([id] int,[time] datetime,[count] int) --添加模拟数据 insert [TB] select 1,'2012-12-01 02:00:00',42 union all select 1,'2012-12-01 14:18:12',79 union all select 1,'2012-12-10 07:15:42',112 union all select 1,'2012-12-14 10:06:20',57 union all select 1,'2012-12-14 11:54:10',124 union all select 1,'2012-12-14 14:10:27',241 --根据日前的月份和天数分组求和, --条件为当前的月份转换成2012-12-14 00:00:00 的时间格式 --month()、day()函数返回值为整型,故转换为字符后拼接 --数据格式为2012-12-14 00:00:00可正常运行 --如果没有12号数据则不统计 SELECT CAST(MONTH([time]) AS VARCHAR(4))+'-'+RIGHT('00'+CAST(DAY([time]) AS VARCHAR(4)),2) AS [time],SUM([count]) AS SumCount FROM TBWHERE CONVERT(VARCHAR(7),[time],120)=CONVERT(VARCHAR(7),GETDATE(),120)GROUP BY MONTH([time]),DAY([time])--删除模拟数据DROP TABLE TB--结果time SumCount--------- -----------12-01 12112-10 11212-14 422
--模拟数据表 create table [TB]([id] int,[time] datetime,[count] int) --添加模拟数据 insert [TB] select 1,'2012-12-01 02:00:00',42 union all select 1,'2012-12-01 14:18:12',79 union all select 1,'2012-12-10 07:15:42',112 union all select 1,'2012-12-14 10:06:20',57 union all select 1,'2012-12-14 11:54:10',124 union all select 1,'2012-12-14 14:10:27',241 --声明空白数据DECLARE @tbnull TABLE(id INT,[time] DATETIME,[count] INT)--递增变量DECLARE @day INTSET @day=0--当月天数DECLARE @days INTSELECT @days= day(dateadd(mm,1,getdate())-day(getdate())) --循环插入空白数据WHILE (@day<@days)BEGINSET @day=@day+1INSERT INTO @tbnull ( id, time, count )VALUES ( 1,CONVERT(DATETIME,CONVERT(VARCHAR(8),GETDATE(),120)+RIGHT('00'+@day,2)),0)END; --合并数据 WITH data AS ( SELECT * FROM TB UNION ALL SELECT * FROM @tbnull ) --根据日前的月份和天数分组求和, --条件为当前的月份转换成2012-12-14 00:00:00 的时间格式 --month()、day()函数返回值为整型,故转换为字符后拼接 --数据格式为2012-12-14 00:00:00可正常运行 SELECT CAST(MONTH([time]) AS VARCHAR(4))+'-'+RIGHT('00'+CAST(DAY([time]) AS VARCHAR(4)),2) AS [time], SUM([count]) AS SumCount FROM data WHERE CONVERT(VARCHAR(7),[time],120)=CONVERT(VARCHAR(7),GETDATE(),120) GROUP BY MONTH([time]),DAY([time])--删除模拟数据DROP TABLE TB--结果time SumCount--------- -----------12-01 12112-02 012-03 012-04 012-05 012-06 012-07 012-08 012-09 012-10 11212-11 012-12 012-13 012-14 42212-15 012-16 012-17 012-18 012-19 012-20 012-21 012-22 012-23 012-24 012-25 012-26 012-27 012-28 012-29 012-30 012-31 0
0 0
- Oracle查询1-12月数据
- MySql查询当年1-12月数据
- oracle分组查询(某年12月的数据和每年每月的数据)
- 查询09年1-12月的车主数据样本
- oracle 查询前一小时、一天、一个月、一年的数据
- oracle 查询前一小时、一天、一个月、一年的数据
- Oracle sql按年、月、周等,分组查询数据
- oracle 查询前一小时、一天、一个月、一年的数据
- oracle通过年、月两个条件查询数据库数据
- oracle选择查询前几个月或者后几个月日期数据
- 2012年1月12日 星期四(oracle读书笔记,oracle体系架构之数据字典)
- oracle系列笔记(1)---查询数据
- oracle 数据分页查询
- Oracle数据关联查询
- oracle查询前几条数据
- Oracle 基本数据查询
- oracle 查询数据
- oracle查询前几条数据
- web前端开发你应该知道的好消息
- Android Ormlite的综合查询
- Spring IoC的理解----找女朋友的方法
- 跟siki老师学C#第二天
- 在代码中修改TextView的DrawableRight图片
- Oracle查询1-12月数据
- ExpandableListView安卓开发可扩展的listview
- 堆排序算法
- JavaScript 学习摘要
- Jquery scroll 向下滚动到据顶部超过1000px时,回到顶部
- Python的Module和Package
- 快速掌握Lua 5.3 —— "Iterators"和"Generic for"
- 浏览器引擎
- oracle查询一个时间段每天的数据量