php - Mysql - 在 IN Clausole 中排序

标签 php mysql

我有一个简单的问题。 我必须加入多个查询,其中大部分都有 ad IN clausole。 不幸的是,MySQL 不允许在 UNION 中使用 ORDER BY(仅在所有联合之外),但我需要一个我无法通过外部 order by 获得的特定顺序。

问题是: 如果我有一个像

这样的 IN 子句
foo in ('newyork','boston','atlanta')

我可以假设 MySql 的引擎将按 IN 位置对结果行进行排序(因此,首先是 foo = 'newyork' 然后是 'boston' 等的所有行......

谢谢。

最佳答案

没有。完全不是那样的。您需要明确添加 order by 子句。

如果您想根据集合中的位置对行进行排序,可以使用 field 函数。

order by field(foo,'newyork','boston','atlanta')

关于php - Mysql - 在 IN Clausole 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42133204/

相关文章:

javascript - 表单输出中不需要的属性 - jQuery/php

mysql - 为 Web 服务器创建 conf 文件

MySQL - 如何根据单列查找重复行?

php - 根据 mysql 值回显数组值

php - 显示或隐藏带有使用 php 和 javascript 生成的 id 的 div

php - 在 PHP 上美化存储在字符串中的 HTML

php - 当我已经有一个时使用 GET 方法?在我的查询字符串中

mysql - 更新变量的值而不在 mysql 中打印其值

mysql - 选择 MySQL 中每项的最小值

php - fatal error : Call to a member function load() - Kohana PHP