- 浏览: 2022717 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
1.解决被零除(零做除数时)
--来自百度问吧
在统计系统中,需要求百分数,
如(sum(baseprice)-sum(quote))/sum(baseprice)*100)中,
如果sum(baseprice)为0,系统会报错,不能运行
把sum(baseprice) 改为
nullif(sum(isnull(baseprice,0)),0)
就可以了,除于0会出错,除于null就不会出错了
2.列出某年1-12月数据各产吕的销售数据
Select 产品ID AS 机型, SUM(CASE month(日期) WHEN 1 THEN 销售量 ELSE 0 END)
AS [一月], SUM(CASE month(日期) WHEN 2 THEN 销售量 ELSE 0 END) AS [二月],
SUM(CASE month(日期) WHEN 3 THEN 销售量 ELSE 0 END) AS [三月],
SUM(CASE month(日期) WHEN 4 THEN 销售量 ELSE 0 END) AS [四月],
SUM(CASE month(日期) WHEN 5 THEN 销售量 ELSE 0 END) AS [五月],
SUM(CASE month(日期) WHEN 6 THEN 销售量 ELSE 0 END) AS [六月],
SUM(CASE month(日期) WHEN 7 THEN 销售量 ELSE 0 END) AS [七月],
SUM(CASE month(日期) WHEN 8 THEN 销售量 ELSE 0 END) AS [八月],
SUM(CASE month(日期) WHEN 9 THEN 销售量 ELSE 0 END) AS [九月],
SUM(CASE month(日期) WHEN 10 THEN 销售量 ELSE 0 END) AS [十月],
SUM(CASE month(日期) WHEN 11 THEN 销售量 ELSE 0 END) AS [十一月],
SUM(CASE month(日期) WHEN 12 THEN 销售量 ELSE 0 END) AS [十二月]
FROM DezaiCN_Sale
Where datepart(year, 日期) = 2008
GROUP BY 产品ID
3.数据同比 环比分析
(参考邹捷的SQL)
Create procedure DezaiCn_SaleAnalysisCompareByDate
@compareMonth int
as
--统计处理
declare @o_dt1 datetime,@o_dt2 datetime,
@n_dt1 datetime,@beginStasticDate datetime,@endStasticDate datetime
--计算各期的统计时间
select
@beginStasticDate=cast(@compareMonth*100+1 as char(8)), --本期统计的开始日期
@endStasticDate=dateadd(month,1,@beginStasticDate), --本期统计的结束日期
@n_dt1=dateadd(month,-1,@beginStasticDate), --上期统计的开始日期
@o_dt1=dateadd(year,-1,@beginStasticDate), --去年同期统计的开始日期
@o_dt2=dateadd(month,1,@o_dt1) --去年同期统计的结束日期
select
店铺名=isnull(a.店铺名,b.店铺名),
本期开始=CONVERT(varchar(12) , @beginStasticDate, 102 ),
本期结束=CONVERT(varchar(12) , @endStasticDate, 102 ),
上期结束=CONVERT(varchar(12) , @n_dt1, 102 ),
本期=isnull(b.销售量2,0),
上期=isnull(b.销售量1,0),
上期差异=isnull(b.销售量2,0)-isnull(b.销售量1,0) ,
去年开始=CONVERT(varchar(12) , @o_dt1, 102 ),
去年结束=CONVERT(varchar(12) , @o_dt2, 102 ),
去年同期=isnull(a.销售量,0),
去年同期差异=isnull(b.销售量2,0)-isnull(a.销售量,0)
from(
--去年同期的统计
select 店铺名,销售量=sum(销售量)
from DezaiCn_Sale
where 日期 between @o_dt1 and @o_dt2
group by 店铺名
)a full join(
--今年及上期统计
select 店铺名,
销售量1=sum(case when 日期<@beginStasticDate then 销售量 end),
销售量2=sum(case when 日期>@beginStasticDate then 销售量 end)
from DezaiCn_Sale
where 日期 between @n_dt1 and @endStasticDate
group by 店铺名,店铺名
)b on a.店铺名=b.店铺名
GO
执行
DECLARE @RC int
DECLARE @compareMonth int
Select @compareMonth = 200903
EXEC @RC = [TEST].[dbo].[DezaiCn_SaleAnalysisCompareByDate] @compareMonth
DECLARE @PrnLine nvarchar(4000)
PRINT '存储过程: TEST.dbo.DezaiCn_SaleAnalysisCompareByDate'
Select @PrnLine = ' 返回代码 = ' + CONVERT(nvarchar, @RC)
PRINT @PrnLine
发表评论
-
sql 保留两位小数
2011-09-30 15:25 112101. ROUND(该函数,只是负责四舍五入到两位小数, ... -
Sql获取星期几的方法
2011-09-26 11:14 15511. select Datepart(weekday, ... -
SQL DATEDIFF语法及时间函数
2011-08-11 19:29 1454摘自:http://apps.hi.baidu.com/sha ... -
比较两个数据库的不同 包括表结构 视图 存储过程等
2011-07-22 18:02 996比较两个数据库的不同 包括表结构 视图 存储过程等 h ... -
SQL Server 2005调试触发器
2011-07-10 18:35 1324摘自:http://blog.csdn.net/zwk_9/a ... -
如何查找所有包含了某个文本的存储过程
2011-06-09 11:16 796select name from sysobjects o, ... -
使用pivot将行转成列
2011-05-17 16:46 1075摘自:http://blog.csdn.net/happy66 ... -
如何监控SQL Server (2005/2008) 的运行状况
2011-04-15 14:01 1145如何监控SQL Server (2005/2008) 的运行状 ... -
SQL中的各种JOIN(inner join,full outer join,left join,right join,cross join )
2011-04-14 13:43 986SQL中的各种JOIN(inner join,full ... -
TSQL中 Count() 函数使用的一点小技巧
2011-04-09 10:32 1882TSQL中 Count() 函数使用的一点小技巧 ... -
MsSql2005数据库熟悉
2011-04-01 17:32 15742011-4-11. 终于把那个模 ... -
知道了远程服务器的IP,以及端口号 如何连接
2011-04-01 12:33 1600问题描述:知道了远程服务器的IP,以及端口号 如何连接 ... -
varchar(max) 定义最大化 MsSql2005
2011-03-31 10:54 1140在存储过程里: declare @CreateScript ... -
在存储过程里使用N前缀 Mssql
2011-03-31 10:16 20092011-3-31 摘自:Mssql 2005的帮助页 ... -
经典的三表练习 sql
2011-03-25 14:05 1177create table s --学生表( sid in ... -
sql 这样写,有什么好处?函数列在字段里
2011-03-24 18:34 1206表格:aat 两个字段:a,b select dbo.get ... -
批量导出sql server 的视图、表、存储过程脚本
2011-03-18 17:39 3132批量导出sql server 的视图、表、存储过程脚本 ... -
asp.net连接Access SQL SERVER Oracle
2011-03-11 16:14 1143摘自:http://blog.csdn.net/m ... -
left join加上where条件的困惑 --SQL优化
2011-03-10 15:29 36917left join加上where条件的困惑 摘自:http: ... -
sql server行级锁,排它锁,共享锁的使用
2011-03-08 08:36 1433sql server行级锁,排它锁 ...
相关推荐
飞浪的第二版,没有公开使用,现拿出出来给大家用了!密码:dezai 用户名:dezai多多指教.
《Java开发技术大全》以J2SE为平台全面介绍了Java的基础知识和常用技术。《Java开发技术大全》共分为8篇,首先讲述了Java的基础语法,然后介绍了Java中类和对象的实现,这也是Java的核心所在。随后介绍了Java中的...
用java写的QQ代码,功能相对完善,对java爱好者来讲是一个不错的选择!
自己整理的一份j2se教程是ppt!感觉很不错,对初学者是个很好的选择1
luma QQ源代码,学习java编程的好资源!