Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Oracle SQL中找不到唯一的行

在Oracle SQL中找不到唯一的行
EN

Stack Overflow用户
提问于 2014-09-29 06:03:21
回答 3查看 15.1K关注 0票数 9

我有个问题看上去很简单,但我想不出来。

我有以下几点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   Name Zipcode

    ER 5354
    OL 1234
    AS 1234
    BH 3453
    BH 3453
    HZ 1234

我希望找到ID没有明确定义一行的行。

我想在这里看到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   OL 1234
   AS 1234
   HZ 1234

或者简单的邮政编码就够了。

,对不起,我忘了提一个重要的部分。如果名称是相同的,这不是一个问题,只有当相同的邮政编码有不同的名称时。因此这意味着: BH 3453不返回。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-29 06:08:38

我想这就是你想要的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select zipcode
from yourTable
group by zipcode
having count(*) > 1

它选择与多个记录相关联的the码。

若要回答您最新的问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select zipcode
from
(
  select name, zipcode
  from yourTable
  group by name, zipcode
)
group by zipcode
having count(*) > 1

应该这么做。就性能而言,它可能不是最优的,在这种情况下,可以使用@a1ex07建议的窗口函数。

票数 10
EN

Stack Overflow用户

发布于 2014-09-29 06:11:18

试试这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select yt.*
  from YOUR_TABLE yt
     , (select zipcode
          from YOUR_TABLE
         group by zipcode
        having count(*) > 1
       ) m
 where yt.zipcode = m.zipcode
票数 2
EN

Stack Overflow用户

发布于 2014-09-29 06:18:04

如果您只需要邮政编码,请使用vc 74的解决方案。对于所有列,基于窗口函数的解决方案应该优于自连接方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT a.zipcode, a.name 
FROM 
(
   SELECT zipcode, name, count(1) over(partition by zipcode) as cnt
   FROM your_table
)a
WHERE a.cnt >1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26101767

复制
相关文章
Oracle中唯一约束和唯一索引的区别
在使用TOAD来操作Oracle数据库时,会注意到创建约束时有Primary Key、Check、Unique和Foreign Key四种类型的约束,这与SQL Server中的约束没有什么区别,这里的Check约束除了用于一般的Check约束外,在Oracle中也用于非空约束的实现。也就是说如果一个字段不允许为空,则系统将会创建一个系统的Check约束,该约束定了某字段不能为空。
深蓝studyzy
2022/06/16
1.3K0
Oracle中唯一约束和唯一索引的区别
Oracle中的SQL优化
一.SQL语言的使用 1.IN 操作符     用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。     但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:     ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。     由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。
星哥玩云
2022/08/18
1.9K0
Oracle中的基本SQL知识
a) SQL, Structured Query Language, 结构化查询语言 b) SQL 是最重要的关系数据库操作语言,是所有关系数据库 管理系统的标准语言. c) SQL 语言是非过程化的语言, 只需要告诉做什么, 不需要 关注怎么做, 简单.
时间静止不是简史
2020/07/24
1.1K0
Oracle中的基本SQL知识
oracle的行转列和列转行_sql中行转列
--============================================== 作者:王运亮(wwwwgou) 时间:2011-06-10 博客:http://blog.csdn.net/wwwwgou --==============================================
Java架构师必看
2022/05/26
3.9K0
【DB笔试面试525】在Oracle中,行链接和行迁移有什么区别?
当一行的数据过长而不能存储在单个数据块中时,可能发生两种事情:行链接(Row Chaining)或行迁移(Row Migration)。
AiDBA宝典
2019/09/29
1.1K0
【DB笔试面试605】在Oracle中,SQL概要(SQL Profile)的作用是什么?
SQL Profile就是为某条SQL语句提供除了系统统计信息、对象(表和索引等)统计信息之外的其它信息,比如运行环境、额外的更准确的统计信息,以帮助优化器为SQL语句选择更适合的执行计划。SQL Profile可以说是Outline的进化。Outline能够实现的功能SQL Profile也完全能够实现,而SQL Profile具有Outline不具备的优化,最重要的有两点:①SQL Profile更容易生成、更改和控制。②SQL Profile在对SQL语句的支持上做得更好,也就是适用范围更广。
AiDBA宝典
2019/09/29
9640
[译] ALTER SYSTEM CANCEL SQL : 在 Oracle Database 18c 的会话中取消 SQL 语句
Oracle Database 18C 引入了 ALTER SYSTEM CANCEL SQL 命令,用于取消会话中的 SQL 语句,提供了杀死恶意会话的替代方法。
Lucifer三思而后行
2022/04/13
4.1K0
oracle中sql的递归查询运用
主键 名字 职位 上级id 部门id
小小鱼儿小小林
2020/06/23
2.7K0
oracle普通索引改唯一索引,Oracle唯一索引功能替代[通俗易懂]
Oracle唯一索引在字段全部为NULL时,不做唯一性判断,允许重复插入,而在8t中即使均为NULL值也会做重复值判断,在某些场景下客户会存在此类需求,在数据量不大不存在性能问题的情况下可以考虑通过如下方式进行替代
全栈程序员站长
2022/09/29
2K0
【DB笔试面试570】在Oracle中,SQL优化在写法上有哪些常用的方法?
一般在书写SQL时需要注意哪些问题,如何书写可以提高查询的效率呢?可以从以下几个方面去考虑:
AiDBA宝典
2019/09/29
3.6K0
Sequence在Oracle中的使用
  Oracle中,当需要建立一个自增字段时,需要用到sequence。sequence也可以在mysql中使用,但是有些差别,日后再补充,先把oracle中sequence的基本使用总结一下,方便日后查阅。
庞小明
2018/08/01
5.3K0
SQL中的行转列和列转行
SQL是IT行业很多岗位都要求具备的一项能力,对于数据岗位而言更是如此,甚至说扎实的SQL基础也往往是入职这些岗位的必备技能。而在SQL面试中,一道出镜频率很高的题目就是行转列和列转行的问题,可以说这也是一道经典的SQL题目,本文就这一问题做以介绍分享。
luanhz
2021/06/25
7.2K0
SQL 中的行转列和列转行
行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT…CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下列转行、行转列问题。
玖柒的小窝
2021/11/08
5.5K0
SQL 中的行转列和列转行
【DB笔试面试670】在Oracle中,什么是SQL实时监控?
在Oracle 11g中,V$SESSION视图增加了一些新的字段,这其中包括SQL_EXEC_START和SQL_EXEC_ID,这两个字段实际上代表了Oracle 11g的一个新特性:实时的SQL监控(Real Time SQL Monitoring)。
AiDBA宝典
2019/10/30
7920
【DB笔试面试575】在Oracle中,SQL语句的执行过程有哪些?
(1)当用户提交待执行的目标SQL后,Oracle首先会对目标SQL进行解析。在这个过程中,Oracle会先执行对目标SQL的语法、语义和权限的检查:
AiDBA宝典
2019/09/29
1.4K0
【DB笔试面试575】在Oracle中,SQL语句的执行过程有哪些?
【DB笔试面试576】在Oracle中,简述Oracle中的游标。
在介绍游标之前先介绍一下Oracle数据库中库缓存(Library Cache)的作用及其组成结构。库缓存是SGA中共享池(Shared Pool)中的一块内存区域,主要作用就是缓存执行过的SQL语句和PL/SQL语句(例如存储过程、函数、包、触发器)及其所对应的解析树(Parse Tree)和执行计划等信息。当同样的SQL语句和PL/SQL语句再次被执行的时候就可以直接利用已经缓存在库缓存中的那些相关对象而无须再次从头开始解析,这样就提高了这些SQL语句和PL/SQL语句在重复执行时的执行效率。库缓存(Library Cache)在SGA中的位置如下图所示:
AiDBA宝典
2019/09/29
1.3K0
【DB笔试面试576】在Oracle中,简述Oracle中的游标。
【DB笔试面试609】在Oracle中,SPM(SQL Plan Management,SQL计划管理)是什么?
在Oracle中,SPM(SQL Plan Management,SQL计划管理)是什么?
AiDBA宝典
2019/09/29
8730
【DB笔试面试569】在Oracle中,SQL如何优化?SQL优化的关注点有哪些?
随着数据库中数据量的增长,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于大量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上千倍。对于一个系统不是简单地能实现其功能就可以了,而是要写出高质量的SQL语句,提高系统的可用性。
AiDBA宝典
2019/09/29
1K0
SQL 找出分组中具有极值的行
你可能也遇到过这种需求:找出每个部门入职最早的员工的信息;获取每个科目最高分的学生信息;获取用户最近一次的完整登录信息。
白日梦想家
2020/07/20
1.8K0
SQL 找出分组中具有极值的行
尴尬:在zoom中找不到会议密码
临时要开一个zoom会议,点击“新会议”进入,然后邀请其他与会者。 “会议” - “复制邀请链接”, 得到一行这样的信息(会议号已模糊处理) https://oracle.zoom.us/j/99
Alfred Zhao
2022/10/31
2.8K0

相似问题

返回唯一行,去掉oracle sql查询中的多余行

339

Oracle SQL -根据唯一行删除条目

20

在oracle sql中查找唯一id

22

在Oracle SQL中选择唯一行并忽略nulls

24

从唯一行返回列值的Oracle SQL

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文