当前位置: 代码迷 >> SQL >> sql 各种需求写法(oracle分页,group by,月日比较(不含年),反复列查找)
  详细解决方案

sql 各种需求写法(oracle分页,group by,月日比较(不含年),反复列查找)

热度:41   发布时间:2016-05-05 13:45:47.0
sql 各种需求写法(oracle分页,group by,月日比较(不含年),重复列查找)
1 oracle分页的一种写法
SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM (...... ) row_ WHERE rownum <= ?) WHERE rownum_ > ? 

2 日期月日比较不用年(转换成字符串可直接进行 >  < 比较)
 select   substr('0' || Extract(MONTH from to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd')),2) --月份|| substr('0' || Extract(DAY FROM to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd')),2)  --日from dual;

3 列重复的取出最大的或者最小的,或者计算有重复的行
select t1.pid, max(t.T_END_DATE) as insDate  from tb_oyp t1,tb_poy t2   where t1.c_tci_id = t2.c_cst_id group by pid --t1与t2一对多关系 --所以查出来如下可能: -- 1   2010-2-2 -- 1   2010-4-3 -- 通过 group by max()之后可以得出一条最大的 -- 也可以 group by min()得出最小的一条 -- 也可以 group by count(pid)得出重复的;
  相关解决方案