Oracle 多行转列函数
Oracle中使用WMSYS.WM_CONCAT函数进行多行转列
原数据:
rank name
AA NAME1
AA NAME2
AA NAME3
BB NAME4
BB NAME5
SQL>select trim(t.rank) as rank,
wmsys.wm_concat(trim(t.name)) as name
from table_name t
group by t.rank;
实现的效果是:会先按rank分组,将分组后的name以“,”按组合并为一列。
结果如下:
rank name
AA NAME1,NAME2,NAME3
BB NAME4,NAME5
注:默认以“,”字符连接合并后的结果
相关文档:
Oracle与MySQL中“可串行化”的对比测试
Thomas Kyte 在“Oracle 9i&10g编程艺术”一书中为了说明事务的隔离级别,提供了一些例子。这里我们来看看“可串行化”级别下的表现。
以普通用户登录系统,并创建测试用的表。
idle> connect scott/tiger
......
小型机路线,几乎已被封死。无法使用Sun,它已和Oracle紧密绑定,若还使用上述设计,会很难说服售前将小型机、存储、数据库分别从不同厂商采购;另外,亦无法使用IBM,据说FLY的某个老板不喜欢。 大力推进数据库系统PC化,这似乎是最佳策略。FLY应用对数据 ......
一般的公司通常会在他们的信息系统架构中引入多种数据库平台,同时引入三到四种不同的RDBMS解决方案的中大型公司也并不少见,当然这些公司里面的DBA们通常也需要同时拥有管理多种不同平台的技能了。
只在一种平台上展开工作的数据库专家们也通常会期待着在他们的下一份工作中能学到点不一样的东西,那些有勇气的人们则愿意 ......
查看锁表进程SQL语句1:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ......
数据库数据
ID
UserName
Date
1
User1
2010/4/27
1
User1
2010/4/11
1
User1
2010/4/1
要求:
获取最新日期的一条数据
Sql语句:
select t.* from tb t where date = (select max(date) from tb where id = t.id) order by t.id ......