易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server中Rollup关键字使用技巧

首先创建测试表、添加数据。
create table #t(a int,b int,c int,d int,e int)
insert into #t values(1,2,3,4,5)
insert into #t values(1,2,3,4,6)
insert into #t values(1,2,3,4,7)
insert into #t values(1,2,3,4,8)
insert into #t values(1,3,3,4,5)
insert into #t values(1,3,3,4,6)
insert into #t values(1,3,3,4,8)
insert into #t values(1,3,3,4,7)
insert into #t values(2,2,2,4,5)
insert into #t values(2,2,3,4,6)
insert into #t values(2,2,4,4,7)
insert into #t values(2,2,5,4,8)
insert into #t values(2,3,6,4,5)
insert into #t values(2,3,3,4,6)
insert into #t values(2,3,3,4,8)
insert into #t values(2,3,3,4,7)
情况一:只有一个分类汇总列时,只需要一个合计。只需要增加with rollup即可。
select case when grouping(a)=1 then '合计' else cast(a as varchar) end a,
sum(b),sum(c),sum(d),sum(e) from #t group by a with rollup
情况二:有多个分类汇总列,只需要一个合计.增加rollup之后,需要增加判断。
select case when grouping(a)=1 then '合计' else cast(a as varchar) end a,
    b,
sum(c),sum(d),sum(e) from #t 
group by a,b with rollup 
having grouping(b)=0 or grouping(a)=1
select case when grouping(a)=1 then '合计' else cast(a as varchar) end a,
    b,
    c,
sum(d),sum(e) from #t 
group by a,b,c with rollup 
having grouping(c)=0 or grouping(a)=1
情况三:有多个分类汇总列,需要全部的小计和合计。
select case when grouping


相关文档:

SQL Server中存储过程与函数的区别

SQL Server用户自定义函数和存储过程有类似的功能,都可以创建捆绑SQL语句,存储在server中供以后使用。这样能够极大地提高工作效率,通过以下的各种做法可以减少编程所需的时间:
   1 重复使用编程代码,减少编程开发时间。
   2 隐藏SQL细节,把SQL繁琐的工作留给数据库开发人员,而程序开发员则集中处理高级编程 ......

SQL Server 中的查询通知 (ADO.NET)

查询通知是在 Microsoft SQL Server 2005 中以及 ADO.NET 2.0 的 System.Data.SqlClient 命名空间中引入的。查询通知建立在 Service Broker 基础结构的基础上,使应用程序可以在数据更改时收到通知。如果应用程序提供数据库中信息的缓存(例如 Web 应用程序),需要在源数据更改时接收通知,此功能特别有用。
通过三种方式 ......

SQL中的 datetime 格式[转]

SQL中的 datetime 格式[转]
2009-05-16 10:42
语句及查询结果:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONV ......

PL/SQL 001

在 Oracle 10g  中 
可以通过 http://localhost:5560/isqlplus 访问 isqlplus 
在 isqlplus 中 可以执行 plsql
set serveroutput on size 100000   // 打开 服务器的输出  on 后面是 缓存的大小 范围是  (2000 至 1000000)
begin
   dbms_output.put_line('hel ......

SQL 2008 体验第一波

从2000开始就是MS SQL家的忠实用户了,2000的时候我是从一本2000宝典开始入门的,从2000到2005经历了很长时间,很多的用户至今还死死的守着2000,如果不是工程要求,估计我也不会主动换到2005,然而眼睛一眨,2008又出来了,哀叹,2005的功能我都没有摸透呢。
2008与2005的对比
1.慢,什么都慢,从恢复数据库,到导入数据 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号