这几天做一个查询,需要在一个指定的结果集中进行查询,例如:
select * from table_name where doc_id IN ('1dba', 'c20a', '907b')
其中IN子句中的doc_id列表是通过调用一个外部接口获得一组doc_id常量列表,然后在本地库中搜索符合这个列表的数据
记录。后来发现mysql返回的结果集的排序是按照入库顺序给出的,但是我希望能按照doc_id列表的先后顺序进行排序,
经过google得知可以改为:
select * from table_name where doc_id IN ('1dba', 'c20a', '907b') order by FIND_IN_SET('1dba', 'c20a', '907b')
果然达到效果。
分享到:
相关推荐
### MySQL多表查询和子查询知识点详解 #### 1. 列出至少有4个员工的部门名称 **知识点:** - **GROUP BY 和 HAVING 子句:** 使用 `GROUP BY` 按部门分组,然后用 `HAVING COUNT(*) >= 4` 来过滤出至少有4个员工的...
实验报告主要涵盖了数据库系统的基本操作,特别是MySQL中的分组查询、多表连接和子查询的运用。以下是对这些知识点的详细解释: 1. **GROUP BY 语句与聚合函数**: GROUP BY 语句用于将数据分组,通常与聚合函数如...
5、子查询 6、合并查询结果 7、为表和字段取别名 8、使用正则表达式查询 什么是查询? 怎么查的? 数据的准备如下: [sql] view plain copy create table STUDENT( STU_ID int primary KEY, STU_NAME char(10) ...
MySQL子查询中的`IN`操作符常用于筛选满足特定条件的记录,而`LIMIT`则用于限制查询返回的结果数量。然而,在子查询中直接将`LIMIT`与`IN`一起使用可能会导致错误,特别是当你尝试在`IN`的子查询中进行排序并应用`...
本文介绍了MySQL中的多表查询技术,包括基本概念、如何避免笛卡尔积、统计函数的使用以及子查询的实现方式。掌握这些技术对于高效地管理和查询数据库是非常重要的。随着业务复杂度的增加,多表查询的运用将会越来越...
MySQL 数据查询操作...* 了解如何使用子查询获取相关记录 * 了解如何使用子查询进行数据过滤 * 了解如何使用子查询进行数据聚合 通过本实验训练,可以掌握 MySQL 数据查询操作的基本技能,提高数据分析和处理能力。
本篇文章将详细讲解MySQL数据库中的子查询,包括标量子查询和列子查询。 1. **标量子查询**: 标量子查询的特点是返回单个值,这个值可以作为外部查询(父查询)的条件。例如,假设我们有一个`stuinfo`表存储学生...
子查询(Subquery)是一种嵌套在其他查询中的查询。它可以用来解决复杂的查询问题。例如,找出所有选修了某门课程的学生姓名: `SELECT Sname FROM Student WHERE SId IN (SELECT SId FROM SC WHERE CId = '某门...
MySQL中的子查询优化是数据库性能调优的关键环节,因为子查询的执行效率直接影响到整个查询的性能。在MySQL中,子查询的优化涉及到查询优化器的选择、子查询的执行顺序以及索引的利用等多个方面。 首先,理解子查询...
1. **避免在子查询中使用NOT IN或IN操作符**:这些操作符可能导致全表扫描,尤其是在子查询返回大量值时。可以尝试使用LEFT JOIN或者EXISTS替代。 2. **利用临时表和JOIN**:有时候,将子查询的结果存入临时表,...
在MySQL数据库中,`IN`操作符用于在`WHERE`子句中...如果要同时排除`(id=3 AND info_type_id=8)`和`(id=4 AND info_type_id=8)`的记录,可能需要使用更复杂的查询,如自连接或子查询,具体实现取决于具体需求和表结构。
这段SQL首先从`SYS_TEXT_PROMOTE`表中筛选出每个状态的文章,每个子查询内部都有一个`ORDER BY`子句,确保每个状态内部的排序正确。然后,`UNION ALL`将这三个子查询的结果合并成一个结果集。由于`UNION ALL`本身不...
当执行包含IN子查询的SQL语句时,例如 "SELECT * FROM t1 WHERE x1 IN (SELECT x2 FROM t2 WHERE x3 = xxx)",MySQL优化器会将执行计划优化,首先执行子查询,将结果物化成临时表,并在这个临时表上建立索引。...
8.4.4.4 排序行 8.4.4.5 日期计算 8.4.4.6 NULL值操作 8.4.4.7 模式匹配 8.4.4.8 行计数 8.4.5 使用多个数据库表 8.5 获得数据库和表的信息 8.6 以批处理模式使用mysql ...
10. 使用EXISTS代替IN:在子查询中使用EXISTS通常比使用IN执行更快,尤其是在大表和小表的关联查询中,因为EXISTS在找到第一个匹配项后即停止搜索。 11. 使用表的别名:在复杂查询中使用表的别名可以提高代码的...
MySQL子查询是数据库查询中的一个重要概念,用于在一个查询语句中嵌套另一个查询语句,以便根据内层查询的结果来执行外层查询。本篇文章将详细介绍MySQL子查询的分类、使用方式以及一些实例分析。 首先,子查询可以...
IN`语句时,查询结果默认是按照数据库中字段值的自然顺序进行排序的,而不是按照`IN`子句中提供的ID顺序。然而,确实有办法根据`IN`子句中的顺序来排序结果。在SQL Server中,可以使用`CHARINDEX`函数来实现这一...
MySQL查询练习题旨在帮助用户熟悉和提升SQL查询技巧,涵盖了多方面的数据库操作,如联接查询、聚合函数、条件查询、子查询等。以下是对这些题目的详细解析: 1. **建表**: - 学生表:可能包含学生ID、姓名、性别...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在Web开发中,与Java服务器页面(JSP)结合使用时,它的查询语句是数据交互的核心。在本篇中,我们将深入探讨MySQL在JSP中的所有主要查询语句,以及如何在...
通过本文档的学习,您可以了解到如何使用 Python 和 `mysql.connector` 库来实现 MySQL 数据库中的数据过滤和排序操作。这些基本操作对于开发基于数据库的应用程序至关重要。掌握了这些技能之后,您可以更灵活地处理...