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

[b][size=medium]1 oracle分页的一种写法[/size] [/b]
SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM (...... ) row_ WHERE rownum <= ?) WHERE rownum_ > ? 

[b][size=medium]2 日期月日比较不用年(转换成字符串可直接进行 > < 比较)[/size][/b]
 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;

[b][size=medium]3 列重复的取出最大的或者最小的,或者计算有重复的行[/size][/b]
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)得出重复的;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值