`

mysql 查询结果返回顺序和in语句参数顺序一致

 
阅读更多

 

有时候我们需要按照in条件里的id顺序输出结果,可sql语句在不加order by的时候是按照asc排序的,下边的sql解决按照in条件顺序的id输出查询结果

mysql写法:

eg1:

SELECT * FROM EVENT WHERE eventId IN(443,419,431,440,420,414,509)  ORDER BY INSTR(',443,419,431,440,420,414,509,',CONCAT(',',eventId,','))

eg2:

SELECT

SUBJECT_ID AS subjectId,

QUESTION_ID AS questionId,

WRONG_TIMES AS wrongTimes

FROM

T_EXAM_WRONG_COLLECT

WHERE

BROKER_ID = '7795205'

AND TYPE = '1'

AND QUESTION_ID IN (285,249,261,262,188,212,281,282,283,284)

ORDER BY INSTR(',285,249,261,262,188,212,281,282,283,284,',CONCAT(',',QUESTION_ID,','))

 

oracle写法:

select name from order where oderid in(111,222,333,444,555,666)order by instr('111,222,333,444,555,666',orderid)

 

sqlserver写法:

Select * From Product Where id in (1,1588,15782,9887,54)  Order By charindex(','+ id +',', ',1,1588,15782,9887,54,')

分享到:
评论

相关推荐

    详解 Mysql查询结果顺序按 in() 中ID 的顺序排列

    总结来说,这个示例展示了如何利用MySQL的`IN()`和`FIELD()`函数来根据指定的ID顺序排序查询结果,这对于需要个性化排序或用户定制顺序的场景非常有用。然而,为了性能考虑,对于大数据集,可能需要探索其他优化策略...

    MYSQL查询语句解析

    - 查询结果集中,数据的排列顺序与选择列表中列名的排列顺序相同。 3. **更改列标题** - 格式:`列标题 = 列名` 或 `列名列标题` - 示例:`SELECT 昵称 = nickname, 电子邮件 = email FROM testtable;` - 当列...

    Effective MySQL之SQL语句最优化.pdf

    10. SQL语句优化的技术手段:技术手段包括但不限于使用子查询优化、使用JOIN代替子查询、避免SELECT *、使用更有效的查询方法(如IN代替OR)、利用数据库提供的存储过程和函数减少网络往返次数等。 11. 经验与实践...

    Mysql查询流程分析

    最后,MySQL将查询结果返回给客户端。如果查询过程中没有出现任何问题,那么客户端将能够看到预期的查询结果。否则,如果出现了错误(比如权限不足),MySQL会返回相应的错误信息。 ### 总结 通过对MySQL查询流程...

    SQL语句执行深入讲解(MySQL架构总览-查询执行流程-SQL解析顺序)

    2. 处理:首先,MySQL会检查查询缓存,如果查询语句完全匹配并且用户有权限,就直接返回结果。如果缓存未命中,查询将被解析。命令解析器将SQL语句分解成词法和语法元素,生成解析树。然后预处理器检查语句的语义和...

    设计高效合理的MySQL查询语句讲解

    DBMS通过词法和语法检查后,将语句提交给查询优化器进行优化,生成查询规划,最终执行并返回结果。虽然现代数据库系统如Oracle、Sybase等采用基于代价的优化方法,能根据系统字典表信息估算查询规划的成本,但用户...

    设计高效合理的MySQL查询语句

    在设计高效合理的MySQL查询语句时,关注查询性能至关重要,因为查询操作在数据库操作中占据了主要部分,而SELECT语句的执行成本最高。随着数据量的增加,全表扫描会导致查询时间显著增长,可能需要数十分钟甚至数...

    简单了解mysql语句书写和执行顺序

    mysql语句的书写顺序和执行顺序有很大差异。 书写顺序,mysql的一般书写顺写为: select <要返回的数据列> from <表名> <join> join on where group by <分组条件> having <分组后的筛选条件> ...

    33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理.pdf

    MySQL数据库是目前广泛使用的关系型数据库管理系统,其性能优化是一个涉及多方面知识的...而且,在对数据库进行性能优化时,需要综合考虑存储系统、操作系统以及MySQL本身的各种参数和配置,从而制定出合适的优化策略。

    sql和MySQL的语句执行顺序分析

    理解SQL语句的执行顺序对于编写高性能的查询至关重要,因为它可以帮助开发者避免不必要的计算,提高查询效率,并且能够更准确地预测查询结果。在实际工作中,应根据具体需求灵活运用这些知识,以达到最优的数据库...

    mysql查询语句汇总.docx

    这条语句用于限制查询结果返回的最大行数为`number`。 **应用场景**: 在展示大量数据时,通常会使用`LIMIT`子句来限制显示的数量,以提高用户体验和系统性能。 #### 七、分页查询 **语法**: ``` SELECT column1...

    mysql查询语句及很好用

    根据提供的文件信息,我们可以归纳出一系列关于MySQL查询语句的重要知识点。这些知识点涵盖了从基本的SELECT语句到更复杂的查询技巧,例如使用...通过学习这些知识点,你可以更好地理解和掌握MySQL查询语句的使用方法。

    MySQL语句优化的原则

    ### MySQL语句优化的核心原则与实践 #### 一、索引的重要性及合理设计 1. **索引的作用**:索引能够显著加快数据检索的速度,这是因为它们提供了快速访问数据库表行的方法,类似于书籍的目录。 2. **非群集索引与...

    MySQL查询in操作 查询结果按in集合顺序显示

    当使用`IN`操作符时,通常查询结果是根据表中的数据自然顺序返回的,而不是按照`IN`列表中的顺序。然而,如果你希望查询结果按照`IN`列表中的顺序排列,可以使用`ORDER BY`与`FIND_IN_SET`或`FIELD`函数结合来实现。...

    mysql语句跟踪.txt

    从给定的文件信息来看,主要讨论了MySQL中的日志管理与配置,特别是与SQL语句跟踪相关的几个关键日志:General Log、Binary Log(Bin-log)、Slow Query Log。下面将详细解析这些日志的功能、配置方法以及如何利用...

    MySQL数据库:查询结果的输出.pptx

    新表的行数据也来自SELECT语句的查询结果,其值可以是计算列表达式,也可以是函数。 【例】 使用CREATE TABLE语句创建一个新表,存放Book表中的图书编号和书名两列。 查询结果的输出 【例】 使用CREATE TABLE语句...

    mysql面试题,涉及MySQL基础、MySQL索引、MySQL语句 MySQL进阶等方面,适用于初、中级开发人员

    MySQL 中没有类似 Oracle 的 merge 语句,但是可以使用两种方法来实现类似的功能:INSERT INTO … ON DUPLICATE KEY UPDATE 和 REPLACE INTO。前者使用 INSERT 语句向表中插入记录,如果发现主键或唯一键冲突,则...

    如何查询mysql中执行效率低的sql语句.pdf

    标题提到的“如何查询mysql中执行效率低的sql语句”,通常我们可以通过以下方法来定位和分析低效的SQL: 1. **启用慢查询日志**:如描述中所述,配置`my.cnf`或`my.ini`文件,添加`--log-slow-queries`选项,这会...

Global site tag (gtag.js) - Google Analytics