orical 数据库 搜索语句

1.分页

select  *  from (select A.* , rownum B from (select * from 表名)A  where  rownum<=5) where B>2 order by  列名 desc;

  

 

rownum是一个伪列,是oracle系统自动为查询返回结果的每行分配的编号,第一行为1,第二行为2,以此类推。。。。

2.联合查询

两张表   之用其中一张表的 部门名字  另一张表里统计出  每个部门男女人数

select  name ,count(XB) ,sum(case where XB = '男' then 1 else 0 end ),sum(case where XB = '女' then 1 else 0 end ) from 表1 a  right join 表2  b  on  a.编号 = b.编号  group by   部门  having  name like '%派出所‘;

3.不在指定时间段内

select * from 表名
where ( 时间字段 not between 8 and 9 ) and ( 时间字段 not between 10 and 12 )

  4.orical 分组查询获取每组第一条数据y

select t.name1,t.name2,t.zx 
from (select row_number()over(partition by name1 order by zx desc)rn, test.* from test)t
where t.rn=1;

  

 

 

3. 网上百度   left join  和  right join 

posted @ 2017-06-02 10:18  get("新技能")  阅读(599)  评论(0编辑  收藏  举报