`

MySql查询结果按照指定顺序排序

    博客分类:
  • PHP
阅读更多

Mysql这功能做的很好用啊!!

 

让查询结果按照指定顺序排序

----------------------------------------------------------------------

表结构如下:
mysql> select * from test;
+----+-------+
| id | name  |
+----+-------+
|  1 | test1 |
|  2 | test2 |
|  3 | test3 |
|  4 | test4 |
|  5 | test5 |
+----+-------+

执行以下SQL:
mysql> select * from test where id in(3,1,5);
+----+-------+
| id | name  |
+----+-------+
|  1 | test1 |
|  3 | test3 |
|  5 | test5 |
+----+-------+
3 rows in set (0.00 sec)

这个select在mysql中得结果会自动按照id升序排列,
但是我想执行"select * from test where id in(3,1,5);"的结果按照in中得条件排序,即:3,1,5,想得到的结果如下:
id   name
3    test3
1    test1
5    test5


方法如下:
select * from test where id in(3,1,5) order by find_in_set(id,'3,1,5');
select * from test where id in(3,1,5) order by substring_index('3,1,2',id,1);

分享到:
评论

相关推荐

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

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

    MySQL 按指定字段自定义列表排序的实现

    即使原始数据中的`id`值是按照不同的顺序存储的,查询结果也会被调整为指定的顺序。 `ORDER BY FIELD()`在实际应用中非常广泛,例如,当你需要根据用户的偏好或者某种业务逻辑来定制排序顺序时,它就显得特别有用。...

    浅谈Mysql指定顺序排序查询

    在本文中,我们将深入探讨如何在MySQL中进行指定顺序的排序查询,这在处理前端展示需求时尤为重要。在描述的场景中,一个大屏展示项目需要后端提供特定顺序的数据,以便前端能够按照预设的顺序展示信息。下面,我们...

    MySQL之聚合查询、分组和排序

    ### MySQL之聚合查询、分组和排序 #### 聚合查询、分组与排序概述 聚合查询、分组和排序是关系型数据库系统中重要的数据处理方式之一,尤其是在MySQL这样的流行数据库管理系统中更是如此。这些操作可以帮助用户从...

    解决Hibernate中MySQL的中文排序

    本文将深入探讨如何解决这些问题,确保MySQL数据库中的中文数据能按照正确的顺序进行排序。 首先,我们需要了解MySQL字符集的基础知识。MySQL支持多种字符集,如GBK、UTF-8等,它们用于存储和表示不同语言的字符。...

    mysql in 排序

    在这个例子中,`FIELD(id, 3, 6, 9, 1, 2, 5, 8, 7)`会返回每一行`id`值在其列表中的位置,从而实现按指定顺序排序的目的。 #### `FIELD()`函数详解 - **基本语法**: ```sql FIELD(column_name, value1, value2,...

    MySQL数据库:排序.pptx

    MySQL数据库中的排序功能是SQL查询中的重要组成部分,它允许用户按照特定的标准对查询结果进行有条理的组织。在不使用`ORDER BY`子句的情况下,查询结果的顺序是不确定的,因为数据库管理系统可能根据内部算法返回...

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    在Oracle数据库中,`ORDER BY`子句用于对查询结果进行排序,这涉及到数据库的排序算法和性能优化。然而,`ORDER BY`并不是一个稳定排序算法,这意味着在处理相等的排序键值时,相同的行可能在多次排序中出现不同的...

    MySQL如何使用union all获得并集排序

    在MySQL中,`UNION ALL` 用于合并多个`SELECT`语句的结果集,而这里的重点是如何在合并结果后进行排序。在给定的场景中,我们有一个文章数据表,其中文章的状态通过`PROMOTE_STATUS`字段表示,分别对应0(待发布)、...

    Mysql 关键字执行顺序

    MySQL 关键字执行顺序是数据库查询优化的重要概念,它直接影响着SQL语句的性能和结果。下面我们将详细探讨这些关键字的执行流程,并解答一些常见疑问。 首先,MySQL的执行顺序如下: 1. FROM:首先执行FROM子句,...

    MySql基本查询、连接查询、子查询、正则表达查询讲解

    如果有ORDER BY子句,就按照“属性名2”指定的字段进行排序。排序方式由ASC或DESC参数指定。默认的排序方式为ASC。 二、在单表上查询数据 2.1、查询所有字段 [sql] view plain copy select * from STUDENT; 2.2...

    0.4 MySQL表查询之条件查询

    排序查询可以根据一个或多个字段来排序,使用 DESC 或 ASC 关键字来指定排序顺序。 3. 条件查询语法 条件查询的基本语法是: ``` SELECT 查询列表 FROM 表名 WHERE 筛选条件; ``` 其中,查询列表是指要查询的字段...

    数据库查询并将结果按照指定字段进行降序排列网页源代码.rar

    "数据库查询并将结果按照指定字段进行降序排列网页源代码"这个主题涵盖了多个关键知识点,包括数据库操作、SQL查询语言以及如何在网页上展示这些数据。下面将详细讲解这些知识点。 1. **数据库操作**:数据库是存储...

    MySQL DQL - 执行顺序.md

    **作用:**`ORDER BY`子句用于根据一个或多个列的值对查询结果进行排序。可以通过`ASC`或`DESC`关键字指定升序或降序排列。 **语法示例:** ```sql SELECT column1, column2 FROM table_name ORDER BY column1 ASC;...

    将MySQL查询结果按值排序的简要教程

    在MySQL中,对查询结果进行排序是常见的操作,这有助于我们以特定的顺序展示或处理数据。本教程将重点介绍如何根据值对MySQL查询结果进行排序。 首先,我们通常使用`ORDER BY`子句来对查询结果进行排序。例如,如果...

    Mysql数据库第三章高级查询上机练习.zip

    7. **分组和排序(ORDER BY)**:ORDER BY用于对查询结果进行排序,可指定升序(ASC)或降序(DESC)。 在"第三章上机练习.sql"文件中,你可能会遇到这些问题的实例,通过实际操作来提高你的SQL技能。可能的练习...

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

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

Global site tag (gtag.js) - Google Analytics