`
值得深入
  • 浏览: 15054 次
  • 性别: Icon_minigender_1
  • 来自: 纠结的后空翻
最近访客 更多访客>>
社区版块
存档分类
最新评论

有趣的sql语句之-找出id缺少的最小和最大值

阅读更多
--建表
create table table_a (
aid number(10),
aname varchar2(20),
asex char(1)
);
--插入数据
insert into table_a values (1, 'jack'  ,'1');
insert into table_a values (2, 'ruc'   ,'1');
insert into table_a values (3, 'lucas' ,'0');
insert into table_a values (5, 'jet'   ,'0');
insert into table_a values (6, 'ray'   ,'0');
insert into table_a values (7, 'bill'  ,'1');
insert into table_a values (9, 'mary'  ,'0');


表结构:

aid  aname asex
1     jack   1
2     ruc    1
3    lucas   0
5     jet    0
6     ray    0
7    bill    1
9    mary    0
找出表中aid缺少的最小和最大值
即答案是4,8;
这个是在某群中有人提出的问题,这里有一个陷阱,就是例子中的aid只缺了单个值,如果aid为5的记录被删除后,要保证答案依旧是4,8

我有参考论坛中某个帖子(忘记叫什么了,大概是说腾讯的sql面试题)
select min(t1.x), max(t1.x)
  from (SELECT rownum x
          FROM DUAL
        connect by rownum < (select max(aa.aid) from table_a aa)) t1
 where not exists (select 1 from table_a a where a.aid = t1.x);
分享到:
评论

相关推荐

    SQL语句中----删除表数据drop、truncate和delete的用法

    SQL语句中----删除表数据drop、truncate和delete的用法,对你爱不完

    2012-经典SQL语句大全-数据库.zip

    7. **聚合函数**:如COUNT、SUM、AVG、MAX和MIN,用于计算一组值的总和、平均值、最大值或最小值。例如,`SELECT COUNT(*) FROM 表名`返回表中的记录数。 8. **分组与排序**:GROUP BY语句用于对数据进行分组,常与...

    sql-map-2.dtd和sql-map-config-2.dtd

    总结来说,"sql-map-2.dtd"和"sql-map-config-2.dtd"是Ibatis 2.x版本中非常关键的组件,它们为XML配置文件提供了结构化规则,使得开发人员能够编写出合法且易于维护的SQL映射文件和全局配置文件。理解并正确使用...

    SQL语句基础教程

    例如,要在Store_Information表格中找出所有不同的店名,可以使用以下SQL语句: SELECT DISTINCT store_name FROM Store_Information ### WHERE指令 WHERE指令让我们能够选择性地抓取资料。WHERE指令的语法结构...

    sql 语句-sql 编写

    sql语句sql 语句-sql 编写

    Oracle Sql语句转换成Mysql Sql语句

    在数据库管理领域,Oracle SQL和MySQL SQL是两种广泛使用的SQL方言,它们在语法和功能上存在一定的差异。当需要将一个基于Oracle SQL的应用程序迁移到MySQL环境时,就需要进行SQL语句的转换工作。本项目提供了一个...

    利用MD5 求sql语句中的sql_id

    在IT行业中,数据库管理和性能优化是关键领域,而SQL_ID是Oracle数据库中一个重要的概念,它用于唯一标识SQL语句。SQL_ID是一个14字符的字符串,能够帮助我们跟踪和分析SQL查询的性能。MD5(Message-Digest ...

    SQL 语句大全 SQL 语句大全

    - **聚合函数**:COUNT、SUM、AVG、MAX和MIN,用于计算总和、平均值、最大值和最小值。 - **分组与排序**:GROUP BY和ORDER BY子句,分别用于按一个或多个字段进行数据分组和排序。 - **联接查询**:JOIN操作将两...

    learn-sql-the-hard-way-笨方法学sql

    - MAX()和MIN()找出最大值和最小值 4. **子查询**(learn-sql-the-hard-waych12.html) - 内部子查询和外部子查询 - 使用IN、NOT IN、ANY、ALL操作符 - 作为FROM子句的子查询 - 使用子查询进行多表操作 5. **...

    SQL语句在审计

    SQL语句在审计中的应用 SQL语句是数据库管理系统中使用最频繁的语言,SELECT语句是SQL语言中使用频率最高的语句。SELECT语句的作用是让数据库服务器根据用户的要求搜索出所需要的信息资料,并按规定的格式进行整理...

    oracle监听执行sql语句

    这个复杂的查询组合了`v$session`、`v$session_wait`、`v$sess_io`和`v$process`四个视图的数据,用于找出物理I/O消耗最大的会话。通过这种方式,我们可以迅速发现并解决潜在的I/O瓶颈问题。 #### 四、总结 通过...

    PB脚本中SQL语句写法与SQL中语句写法对照

    PB脚本中SQL语句写法与SQL中语句写法对照 PB脚本中SQL语句写法与SQL中语句写法对照是非常重要的...PB脚本中SQL语句写法与SQL中语句写法对照是非常重要的知识点,它们之间的差异和相似之处都需要我们认真研究和学习。

    Effective MySQL之SQL语句最优化.pdf

    5. 查询语句的分析:分析SQL语句是为了找出可能影响性能的部分,如慢查询。可以利用EXPLAIN命令来查看SQL的执行计划,包括执行顺序、扫描行数、是否使用索引等信息。 6. 索引的使用:合理创建和使用索引可以大大...

    Sql语句收藏 Sql语句收藏

    根据提供的文件信息,我们可以整理出两个SQL查询案例,并对其进行详细解析。这有助于更好地理解SQL语言在实际场景中的应用。 ### SQL语句一 #### 原始SQL语句: ```sql select *, (select count(0) from [picture]...

    arcgis中的sql语句

    - **聚合函数**:如求总数(`COUNT`)、求和(`SUM`)、平均值(`AVG`)、最大值(`MAX`)和最小值(`MIN`)。 ##### 3. 高级查询运算符 除了基本的DML和DQL语句外,ArcGIS还支持一些高级查询运算符,如: - **UNION**:...

    iBatis的动态SQL语句

    这些标签包括但不限于`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;trim&gt;`、`&lt;where&gt;`、`&lt;set&gt;`、`&lt;foreach&gt;`等,它们能够根据传入的参数动态地构建出符合需求的SQL语句。 #### 二、动态SQL语句详解 ##### 1. ...

    经典SQL语句大全

    15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from ...

    完成超长SQL语句执行前拆分

    2. **计算分割次数**:根据原始SQL语句的长度与指定的最大长度,计算出需要分割的次数。 3. **循环拆分**: - 对于每一个分割段,从原始SQL语句中提取相应长度的子串。 - 检查子串的结尾部分是否包含了指定的...

    Java打印漂亮的SQL语句(被格式化的SQL语句)

    为了提高效率并使SQL语句更易于理解和分析,格式化SQL语句显得尤为重要。标题提及的"Java打印漂亮的SQL语句(被格式化的SQL语句)"就是一种解决方案,它利用特定的工具或库将原本杂乱无章的SQL转换为结构清晰、简洁易...

Global site tag (gtag.js) - Google Analytics