行列转置的SQL语句
行列转置的SQL语句
另一种行列转置 -- 动态 sql 交叉表
===========================================================
作者: wxy0327(http://wxy0327.itpub.net)
发表于: 2006.05.10 09:11
分类:
Oracle
出处: http://wxy0327.itpub.net/post/16888/88075
---------------------------------------------------------------
交叉表的概念常在SQL Server中见到,行列转置倒是数据库经常要用到的,尤其是报表。这里给出了一个Oracle的简单实现。
CLASS1 CALLDATE
CALLCOUNT
1 2005-08-08
40
1 2005-08-07
6
2 2005-08-08
77
3 2005-08-09
33
3 2005-08-08
9
3 2005-08-07
21
转置后:
CALLDATE CallCount1
CallCount2 CallCount3
------------ ---------- ---------- ----------
2005-08-09 0 0
33
2005-08-08 40 77
9
2005-08-07 6 0
21
试验如下:
1. 建立测试表和数据
CREATE TABLE t(
class1 VARCHAR2(2 BYTE),
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
这几天一直被中文乱码问题困扰,中文数据插入到My Sql中很正常,在Command client line中也能正常显示,可从数据库中读到JSP页面上时,就变成“火星文”了。
于是上网查询,也看到好多方法:有的说把my.ini中default-character-set=latin1改为default-character-set=utf8,有 ......
清空日志:
dump transaction 库名 with no_log
截断日志:
backup log 库名 with no_log
压缩数据库:
dbcc shrinkdatabase (库名, 目标比率)
压缩数据库文件:
dbcc shrinkfile (文件名或ID, 目标大小)
文件名或ID可以通过系统表sysfiles查找,如果不指定目标大小SQL Server将最大限度的压缩数据库文件。
查看压 ......
Oracle SQL性能优化技巧大总结 收藏
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):
Oracle的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以 ......