`

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

    博客分类:
  • sql
阅读更多
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)得出重复的;
分享到:
评论

相关推荐

    Oracle分页查询(很不错的介绍)

    同时,避免在分页查询中使用聚集函数或在子查询中使用`GROUP BY`,因为这可能导致Oracle无法有效地利用索引。 总的来说,Oracle的分页查询通过嵌套查询和`ROWNUM`伪列来实现。正确地使用分页查询可以显著提高用户...

    Oracle与MySQL的几点区别

    为了确保结果的准确性,Oracle要求每个非聚合列必须被包含在`GROUP BY`子句中或作为聚合函数的一部分。 #### 二、序列(Sequence)的创建和使用 在数据库设计中,序列(Sequence)是一种用于自动生成唯一编号的...

    2009达内SQL学习笔记

    ORDER BY子句中使用的列将是为显示所选择的列,但是实际上并不一定要这样,用非检索的列排序数据是完全合法的。 为了按多个列排序,列名之间用逗号分开。 2、支持按相对列位置进行排序。 输入 SELECT prod_id,...

    Oracle事例

    sql&gt; create user juncky identified by oracle default tablespace users sql&gt; temporary tablespace temp quota 10m on data password expire sql&gt; [account lock|unlock] [profile profilename|default]; ...

    精髓Oralcle讲课笔记

    -- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unlock; --那么这个用户名就能使用了。 --(默认全局数据库名orcl) 1、...

    Java学习笔记-个人整理的

    {12.7.1}group by}{159}{subsection.12.7.1} {12.7.2}having}{160}{subsection.12.7.2} {12.8}子查询}{161}{section.12.8} {12.9} 授权与回收权限}{161}{section.12.9} {12.10}示例}{162}{section.12.10} {...

Global site tag (gtag.js) - Google Analytics