首页 > 解决方案 > 选择行 mysql order by custom value 从表格底部到表格顶部

问题描述

如果 productgroup='برنامه نویسی' 我想要最后八个帖子,并且他们拥有的结果 subject="css" 具有更高的优先级

模式表

这是我的代码:

$query = "SELECT productcode FROM (SELECT * FROM product ORDER BY productcode DESC) secondTab

WHERE productgroup='برنامه نویسی' ORDER BY FIELD(subject,'css') DESC limit 8";

但是得到结果从表格顶部到表格底部:6 7 8 10 14 20 34 2

标签: mysqlsqldatabase

解决方案


如果您希望产品代码 21 在最后,请使用两个order by键:

order by (productcode = 21) asc,   -- put it last
         productcode desc

MySQL 将布尔值视为数字上下文中的整数,分别0为 false 和1true。因此,“假”ASC在真值之前排序(使用 )。


推荐阅读