随笔分类 - oracle相关
摘要:来源表1: 来源表2: 生成一个交叉表: sql: select t.course_name,max(case when t.month='200706' then 'o' else '*' end) "6月",max(case when t.month='200707' then 'o' else
阅读全文
摘要:一、首先创建一个测试表 select * from DIM_IA_TEST1 生成随机数 select t.*,rownum rn from (select * from DIM_IA_TEST1 order by dbms_random.value())t; 随机取5条 select t.*,ro
阅读全文
摘要:创建一个临时表 插入数据 查询表: select * from emp e; 按薪水的倒序,取薪水的排名,及一定百分比的薪水值 select e.ename,e.sal,e.deptno, percent_rank() over(partition by deptno order by sal de
阅读全文
摘要:新建一个测试表 create table dim_ia_test2(device_number varchar2(20),desc2 varchar2(20)) 插入数据后得到: 一、oracle row_number() over(partition by .. order by ..) 只以电话
阅读全文
摘要:本人与其他所有人认识的SQL; 首先新建测试表 插入数据 --如果没有重复的记录,则不用去重使用union all实现,第一列(name)人与其他所有人都认识的sql: 结果显示name与所有人认识的结果(nums为认识人数):
阅读全文
摘要:首先建一张测试表: 然后插入数据,现在的表数据为: 一、重点来了,我们随机取三条数据: select * from (select * from dim_ia_test5 order by dbms_random.random) where rownum < 4 ; 二、在工作中,我们有时会遇到按照
阅读全文
摘要:一般我们出分档数据都是case when ,但是如果是对年龄等一些字段进行细分,比如五岁一档,我们如果用case when就会特别麻烦,写的特别多,这里我介绍一种简单的方法,对细分的字段进行处理: 建表: create table dim_ia_age (age varchar2(50)) 源数据为
阅读全文
摘要:工作中,我们经常会碰到行转列的情况 这里我介绍几种简单的方法--行转列 1.oracle的pivot函数 原表 使用pivot函数: with temp as(select '四川省' nation ,'成都市' city,'第一' ranking from dual union all selec
阅读全文