php - 如何以与子句中给定的顺序相同的顺序获取查询结果

标签 php mysql

<分区>

我有一个如下表,id为主键

      ID Name
      1  a
      2  b
      3  c
      4  d
      5  e 

并进行如下查询。此查询是根据用户输入选择在 php 文件中创建的。

    select name from table where id in (1,5,3)

我得到结果(“a”、“c”、“e”),我猜这是正常的,因为默认的主键排序顺序。但是我希望结果按照与“in”子句相同的顺序排序。所以我希望返回值为(“a”,“e”,“c”)。有什么办法可以在mysql中获取。

最佳答案

您可以简单地使用FIELD():

select name from TableName where id in (1,5,3)
ORDER BY field(id,1,5,3)

结果:

NAME
a
e
c

SQL Fiddle 中查看结果.

关于php - 如何以与子句中给定的顺序相同的顺序获取查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23563465/

相关文章:

php - 使用阿拉伯语内容对 CSV 文件进行编码

MySQL 到 MSSQL 保持外键关系

PHP mysql 选择日期范围

php - Opencart:在 Opencart 产品页面中添加“立即购买”按钮

javascript - AngularJs - $http.get 不工作

php - php/mysql 日期减去 1 年

c# - 如果行已存在,如何将行插入表或添加值

php - Json_encode 返回 Null Php/MYSQL

php - 如何使用 LIKE 查询进行范围划分

php - 关联数组插入Mysql