Oracle SQL 谈

SQL Server中查询ORACLE的数据 通过在MS SQL Server设置链接服务器而访问Oracle数据库数据的简单例程 阅读详情


分组评级日期混杂

帮同事写的一个SQL。

需求:取出上月每7天中状态字段各不相同的数据,其中月末的几天作为最后一组7天数据来处理。


--1 取出上月
select t.createtime, t.orderstate
  from test t
 where t.createtime between trunc(trunc(sysdate, 'month') - 1, 'month') and
       (trunc(sysdate, 'month') - 1 / 24 / 60 / 60)


--每隔7天

select t.createtime,
       t.orderstate,
       trunc((to_number(to_char(createtime, 'dd')) - 1) / 7)
  from test t
 where t.createtime between trunc(trunc(sysdate, 'month') - 1, 'month') and
       (trunc(sysdate, 'month') - 1 / 24 / 60 / 60)
       
--每组排名
select s.grp, s.denserank, min(s.createtime), min(s.orderstate)
  from (select p.createtime,
               p.orderstate,
               p.grp,
               dense_rank() over(partition by p.grp order by p.orderstate) denserank
          from (select t.createtime,
                       t.orderstate,
                       trunc(case
                               when (to_number(to_char(createtime, 'dd')) - 1) > 27 then
                                27
                               else
                                (to_number(to_char(createtime, 'dd')) - 1)
                             end / 7) grp
                  from test t
                 where t.createtime between
                       trunc(trunc(sysdate, 'month') - 1, 'month') and
                       (trunc(sysdate, 'month') - 1 / 24 / 60 / 60)) p) s
 group by s.grp, s.denserank
 order by 1, 2

分组排重自关联

产品购买表。需求,找出购买了所有产品的同时,又购买的其他产品,及这些产品被所有人购买的次数。
with pro as
 (select '用户A' userid, '产品100' proid
    from dual
  union all
  select '用户A' userid, '产品101' proid
    from dual
  union all
  
  select '用户B' userid, '产品100' proid
    from dual
  union all
  select '用户B' userid, '产品101' proid
    from dual
  union all
  
  select '用户C' userid, '产品100' proid
    from dual
  union all
  select '用户C' userid, '产品100' proid
    from dual
  union all
  select '用户C' userid, '产品101' proid
    from dual
  union all
  select '用户C' userid, '产品101' proid
    from dual
  union all
  select '用户C' userid, '产品105' proid
    from dual
  union all
  select '用户E' userid, '产品101' proid
    from dual
  union all
  select '用户D' userid, '产品102' proid from dual)
select currentpid "当前产品", proid "同时购买的其他产品", cnt "被购买次数"
  from(
select p3.currentpid, p4.proid, count(p4.proid) cnt, row_number() over(partition by p3.currentpid
 order by p4.proid) rno
  from(
select distinct s.proid currentpid, t.proid twicepid
  from(
select distinct p0.proid, p1.userid
  from pro p0
  left join pro p1
    on p0.proid = p1.proid) s
  left join pro t
    on s.userid = t.userid and s.proid <> t.proid) p3
  left join pro p4
    on p3.twicepid = p4.proid
 group by p3.currentpid, p4.proid)
 where not(rno <> 1 and proid is null)
 order by 1, 3 desc;

输出结构

"当前产品","同时购买的其他产品","被购买次数"
"产品100","产品101","5"
"产品100","产品105","1"
"产品101","产品100","4"
"产品101","产品105","1"
"产品102","","0"
"产品105","产品101","5"
"产品105","产品100","4"


递归查询与行列转换

with china as
 (select 1 no, '中国' name, 0 pno
    from dual
  union all
  select 10 no, '北京' name, 1 pno
    from dual
  union all
  select 20 no, '上海' name, 1 pno
    from dual
  union all
  select 30 no, '天津' name, 1 pno
    from dual
  union all
  select 101 no, '海淀' name, 10 pno
    from dual
  union all
  select 102 no, '朝阳' name, 10 pno
    from dual
  union all
  select 1010 no, '中关村' name, 101 pno
    from dual
  union all
  select 201 no, '闵行' name, 20 pno
    from dual
  union all
  select 301 no, '塘沽' name, 30 pno from dual)

--select * from china order by no

select no, name, ltrim(sys_connect_by_path(name, '>'), '>')
  from china
connect by prior no = pno
 start with no = 1
 order by no


        NO NAME         LTRIM(SYS_CONNECT_BY_PATH(NAME
---------- ------------ --------------------------------------------------------------------------------
         1 中国         中国
        10 北京         中国>北京
        20 上海         中国>上海
        30 天津         中国>天津
       101 海淀         中国>北京>海淀
       102 朝阳         中国>北京>朝阳
       201 闵行         中国>上海>闵行
       301 塘沽         中国>天津>塘沽
      1010 中关村       中国>北京>海淀>中关村

批量执行Oracle和SQL Server SQL脚本的方法 在现代IT环境中,数据库的管理和维护任务常常涉及到执行大量重复的SQL脚本。为了提高效率和准确性,使用Oracle和SQLServer的批量执行脚本功能变得至关重要。本章将概述批量执行脚本的概念、重要性以及它在数据库管理中的应用。 阅读详情

相关推荐

【项目案例】前后端分离项目 【Web图书管理系统 】SpringBoot + Vue + Element UI + Mysql

Web图书管理系统

激流丶的博客 5397

谈一个技术的问题:oracle中sql语句的优化

作为应用软件开发人员,不能不用到oracle数据库.但是大多数人只了解其中的皮毛,今天就发现公司内部大多老员工都还不了解oracle语句的执行顺序是从后往前解析的.所以找了一篇比较完全的sql语句优化大全给大家分享一下,和天下的软件开发人员一起共勉! 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (...

新浪博客搬家测试账号 114

红帽RHCE考试下午-RHCE (RH294)任务概览[2021最新版]

RH294任务概览 考试时间4个小时,6台虚拟机,15道题 原来通过脚本或者集群做的题现在都需要使用playbook实现 考试时大概有6台虚拟服务器,都已经做好了互相的免密 做题在ansible控制节点workstation做,但是需要去其他虚拟服务器进行验证 考试时需要将6台虚拟服务器在考试环境全部开启,物理机界面点击左侧按钮启动 考试时Ansible所有playbook都放在普通用户目录中且都以普通用户执行 注意:考试时一定注意要求将playbook放在哪个用户的家目录中,就需要用指定的户登录做题!

SunMy的博客 5621

谈一个技术的问题:oracle中sql语句的优化_三木_新浪博客

作为应用软件开发人员,不能不用到oracle数据库.但是大多数人只了解其中的皮毛,今天就发现公司内部大多老员工都还不了解oracle语句的执行顺序是从后往前解析的.所以找了一篇比较完全的sql语句优化大全给大家分享一下,和天下的软件开发人员一起共勉! 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. C...

新浪博客搬家测试账号 336

比亚迪 10C 闪充技术全解析:超高速离子通道与双电子流设计如何颠覆电动车补能格局?

性能碾压主流方案参数宁德时代6C比亚迪10C优势幅度最大电流700A1000A+43%内阻降幅30%50%+67%5分钟补能240公里400公里+67%

百态·数智思维 | 聚焦大数据、量化与未来AI 1122

手把手教你学PCIE--系统内存管理:GART(Graphics Address Remapping Table)的典型用途详解

GART(图形地址重映射表)是GPU的核心组件,主要用于地址映射转换。其典型用途分为物理模式和虚拟模式两类:在物理模式下,GART将GPU虚拟地址映射到分散的物理内存,支持DMA连续访问非连续内存块,适用于GPU渲染纹理采样和AI推理数据搬运等场景;在虚拟模式下,GART配合IOMMU实现多级映射,将GPU虚拟地址转换为虚拟机物理地址再映射到宿主机物理地址,确保多租户隔离,应用于云服务器GPU共享和容器化AI训练等虚拟化环境。两种模式分别优化了高性能计算场景和虚拟化场景的需求。

MHD0815的博客 367

线上分享丨再谈Oracle统计信息 - 云和恩墨大讲堂201919

再谈Oracle统计信息- 云和恩墨大讲堂201919「云和恩墨大讲堂」是云和恩墨公司旗下的技术交流平台,包含线上直播课、微信群分享、问答DBASK、大牛采访;全国巡回的线下技术沙龙;年...

weixin_54551388的博客 135

Vulkan入门系列3 - 绘制三角形代码解析(全)

【代码】Vulkan入门系列3 - 绘制三角形完整代码(带详细注释)

GPU全栈博主 1034

ORACLE动态SQL语句

问题的提出我们经常需要运行可变化的SQL语句,这种通常称为动态SQL,在ORACLE中执行动态的SQL语句,需要了解ORACLE的动态SQL语句的相关规定。 SQL动态语句是由程序或者存储过程生成的SQL语句,这种语句的特点是,不能简单的去运行。因为它不是标准的,其中含有变化的成分,因此ORACLE提供了一个执行动态SQL语句的模式: EXECUTE IMMEDIATE 这句话的含义是立即执行

paul50060049的专栏 2万+

Python爬虫教程:爬取法院司法拍卖数据全流程实战(附反爬+数据分析方案)

Python爬虫爬取法院司法拍卖数据的核心是模拟真人行为规避反爬+精准解析页面数据+合理处理数据。新手不用一开始就追求高级的反爬技巧和复杂的数据分析,先把基础的分页爬取和数据保存功能跑通,再逐步优化。我做的这个工具现在每周帮朋友爬取全国10个城市的法拍房数据,自动生成分析报告,他说这让他的投资决策效率提升了一倍。如果你们在开发过程中遇到问题,比如反爬失败、数据解析错误,都可以在评论区留言,我会尽力解答。后续我还会出一期爬取京东司法拍卖数据的教程,帮助大家获取更多的法拍数据来源。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2179

2026年算法工程师常见面试简答题

本文摘要:文章系统梳理了机器学习与深度学习中的30个核心概念,涵盖模型优化、评估指标、经典算法和大模型应用等关键知识点。主要内容包括:1)过拟合与欠拟合的成因及解决方法;2)偏差-方差权衡原理;3)数据划分与交叉验证策略;4)分类/回归任务评估指标选择;5)逻辑回归、决策树、SVM等传统算法解析;6)梯度下降优化与正则化技术;7)CNN、RNN、Transformer架构对比;8)Embedding表示与RAG技术。特别强调面试高频考点如XGBoost改进、注意力机制原理等,并给出实际工程中的解决方案建议,

不务正业的猿 350

Oracle-SQL

Oracle的使用Oracle数据库的体系结构基本查询按列查询给查询的列起别名消除重复的数sql的四则运算 Oracle数据库的体系结构 数据库:database 实例 数据文件dbf 表空间 用户 关系: 一个数据库通常情况下有一个实例(可以有多个),一个实例可以创建多个表空间,每一个表空间对应一个用户,表格中数据量的单位是数据文件 Oracle和Mysql的区别: oracle是多用户,M.....................

JAVA & HTML 4506

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

sql 不等于优化_Oracle SQL优化

一 > 应用ORACLE的HINT(提示)处理:提示处理是在ORACLE产生的SQL分析执行路径不满意的情况下要用到的。它可以对SQL进行以下方面的提示 1. 目标方面的提示: COST(按成本优化) RULE(按规则优化) CHOOSE(缺省)(ORACLE自动选择成本或规则进行优化) ALL_ROWS(所有的行尽快返回) FIRST_RO...

weixin_39997253的博客 5331

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Oracle 动态SQL

动态SQL是在运行时动态构建和执行的SQL语句。与静态SQL相比,动态SQL的主要优势是可以根据不同条件生成不同的查询语句,从而提供更灵活的查询能力。动态SQL在处理复杂查询逻辑、动态过滤条件和动态列选择等方面非常有用。Oracle 动态SQL有两种写法:用 DBMS_SQL 或 execute immediate。

weixin_46268997的博客 1967

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

oracle sql语句

一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shut

iori_guojun的专栏 5070

Oracle SQL

Oracle SQL关键字:        ORACLE的简单介绍 ORACLE公司是一家提供综合技术产品、方案、服务的数据库公司ORACLE数据库设计成可大量存储数据,快速查询数据,保证数据的安全和一致性,跨网络的分布式管理及客户-服务器的配置等。ORACLE SQL语法符合ANSI 1986标准SQL   和数据库交流的命令式语言SQL*PLUS ORACLE的一种工具, 用来运行SQL和

ljc007的专栏 2201

Oracle SQL性能优化

oracle 性能优化

weixin_36837739的博客 4452

ORACLE SQL Loader的详细语法

  Oracle   SQL   Loader的详细语法     SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。SQL*LOADER是大型数据     仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。现在,我们抛开其理论不谈,用实例来使您快速掌握SQL*LOADER的使用方法。      首先,我们认识一

小毛头的BLOG 1万+

Oracle与SQL

Oracle与SQLOracle注册码Oracel安装与卸载Oracle安装Oracle卸载停止oracle服务打开Universal Installer工具运行卸载Oracle数据库程序进入该卸载批处理程序运行卸载删除Oracle注册表删除Oracle环境变量删除Oracle安装目录、文件Oracle使用教程创建表:删除表SQL安装与卸载SQL卸载停止服务控制面板卸载其他文件卸载删除磁盘安装文件删除注册表SQL安装 Oracle注册码 product code: 4vkjwhfeh3ufnqnmpr9br

qq_43567744的博客 2383

oracle sql长度限制吗_Oracle的SQL可以有多长?

Oracle的SQL可以有多长?今天朋友的应用客户端抛出一个异常,错误提示为:RJSQLException(java.io.UTFDataFormatException): encoded string too long: 66007 bytes提示显示,编码SQL达到66007 BYtes,过长,出错。朋友问,SQL最长的限制是多少?根据Oracle文档描述,在Oracle9i中,SQL Sta...

weixin_39586353的博客 4614

Oracle SQL语句解析过程

Oracle SQL语句解析过程 1 软硬解析 SQL语句在到达Oracle实例后,需要先进行解析,分析出最优的执行计划后,再按照执行计划,开始执行SQL。根据能否复用执行计划,解析过程可以分析以下两大类: 硬解析过程:当一用户第一次提交一条SQL语句时,Oracle会将这SQL进行Hard parse,过程有点像程序编译,会检查SQL语法、表及其他对象的权限等信息。这过程会花比较长的时间,因为它要分析SQL语句的语法与语义。然后获得最优化后的执行计划(sql plan),并在内存中分配一定的空.

whereiwillgo的博客 1613

oracle sql练习_最方便的在线SQL学习环境——Oracle Live SQL

概述Live SQL是Oracle公司提供的一项免费的云服务,它为开发人员和DBA提供了一个在线开发平台,用于测试和共享SQL、PL/SQL脚本、教程和最佳实践等内容。你可以通过这个服务在线访问Oracle Database(Schema模式),编写自己的SQL语句和脚本,体验SQL的各种功能,在学与实践中提高自己的SQL编程水平。现在时点(2020/3),Live SQL的数据库版本为19c,因...

weixin_39571087的博客 2762

sql server t-sql脚本转成oracle plsql

将一份SQL SERVER数据库生成的T-SQL脚本,转成ORACLE的PL/SQL,其复杂繁琐程度,远远出乎我的意料。这份SQL SERVER脚本,里面有表,有视图,还有存储过程,以及一些自定义函数。目前,仅勉强将表、视图移植到oracle,存储过程和自定义函数,只能先放弃了。总结如下:一、转换工具 oracle自带工具:Oracle SQL Developer。选工具 -“移植”- 草稿编辑器

左直拳的马桶_日用桶 5317
上一篇: Oracle Database 11.2.0.3 migaration On RedHat-6.3-x64
下一篇: RMAN恢复复制数据库报错RMAN-06054的分析
海点
博客等级 码龄13年 9粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值