mysql - 选择行 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
解决方案
如果您希望产品代码 21 在最后,请使用两个order by
键:
order by (productcode = 21) asc, -- put it last
productcode desc
MySQL 将布尔值视为数字上下文中的整数,分别0
为 false 和1
true。因此,“假”ASC
在真值之前排序(使用 )。