SQL语句
wanglipo
这个作者很懒,什么都没留下…
展开
-
oracle中某列连续相同值的记录数统计(一个简单的例子)
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). 与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码.转载 2011-11-10 10:08:48 · 10765 阅读 · 0 评论 -
ORACLE 游标
虽然搞了好久的ORACLE了,但游标使用的很少,今天用了总结一下 需求:查出用户的手机和姓名,插入到另外一个表里。有个已经存在的存储过程,以游标的方式返回手机和姓名,现在需要编写一个存储过程调用已有的实现功能 遇到的问题:怎么定义一个游标,将返回的记读取并写入相应的表。以前定义游标都是cursor cc is select empno,ename,job,salfrom e原创 2013-01-09 17:45:42 · 689 阅读 · 0 评论 -
Oracle 层次查询
connect by 是结构化查询中用到的,其基本语法是: select ... from tablename start with 条件1 connect by 条件2 where 条件3;例:select * from tablestart with org_id = 'HBHqfWGWPy'connect by prior org_id = parent_id;转载 2012-11-23 09:43:21 · 648 阅读 · 0 评论 -
常用日期查询汇总
1.求当年天数的sql语句SELECT ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'), 12) - TRUNC(SYSDATE, 'YYYY') days FROM DUAL2.求当月天数的sql语句select to_number(add_months(trunc(sysdate, 'mm'), 1) - trunc(sysdate, 'mm'))原创 2012-11-16 09:48:45 · 999 阅读 · 0 评论 -
非必须不要乱使用正则
今天针对手机号运营商归属进行一个统计,由于数据量较多(500万),用正则进行手机运营商的判断发现速度很慢,就做了一番分析比较,记录如下: 场景: t_mobile 表有500多万条记录,手机号码上有索引,需要统计出三个运营商的数量; 方法: 1:select count(*) from原创 2012-11-06 17:42:50 · 1200 阅读 · 0 评论 -
常用sql
--查询表空间剩余空间select a.tablespace_name, a.bytes / 1024 / 1024 "Sum MB", (a.bytes - b.bytes) / 1024 / 1024 "used MB", b.bytes / 1024 / 1024 "free MB", round(((a.bytes - b原创 2012-03-19 09:17:16 · 635 阅读 · 0 评论 -
oracle 异常处理
异常处理begin ... ....exception when others then rollback; v_ErrorCode := sqlcode; -- 错误号 v_ErrorText := SUBSTR(SQLERRM, 1, 160); --错误号对应的信息 v_ErrorText1 :=DBMS转载 2012-04-16 11:30:32 · 16582 阅读 · 0 评论 -
oracle 求连续日期的起始日期和终止日期
2011-06-03 06:30 194人阅读 评论(0) 收藏 举报[c-sharp:nogutter] view plaincopy//数据 1 2011-2-1 1 2011-2-2 1 2011-2-3 1 2011-2-11 1 2011-2-12 1 2011-2-13 //结果转载 2012-04-16 16:29:57 · 2148 阅读 · 0 评论 -
oracle中LAG()和LEAD()等分析统计函数的用法(统计月增长率)
LAG()和LEAD()统计函数可以在一次查询中取出同一字段的前N行的数据和后N行的值。这种操作可以使用对相同表的表连接来实现,不过使用LAG和 LEAD有更高的效率。以下整理的LAG()和LEAD()例子:LAG(EXPRESSION,,)SQL> select year,region,profit ,lag (profit,1) over (order by year) as 5转载 2011-12-27 10:52:28 · 44793 阅读 · 0 评论 -
将汉字转为全拼或返回拼音首字母
create or replace type spell_code as object(spell varchar2(10),code number);create or replace type t_spellcode is table of spell_code;--返回拼音与代码的对应关系create or replace function f_getSpellc转载 2012-01-14 16:39:44 · 752 阅读 · 0 评论 -
Oracle的行列转换
转自:http://blog.csdn.net/xb12369/article/details/39554935尝试SQL: 统计每天每个类型操作个用多少用户select * from (select trunc(created_time), action_type, user_id from t_shq_task_operate_log转载 2016-11-16 09:35:09 · 505 阅读 · 0 评论