我的大脑在这方面让我失望了。我敢肯定这很容易通过搜索找到,但我很难找到任何相关结果。
我正在使用 Laravel,所以如果有 Eloquent 解决方案,那将是首选,但 RAW 查询也可以。
我有一个名为threads 的表,它有两列status,当然还有updated_at。我想按 updated_at DESC 排序,但是有任何行的 status 返回顶部的指定值,但该组也已排序通过 updated_at。
我希望这是有道理的。
最佳答案
这就是我认为您需要的。
ORDER BY status=17 DESC, updated_at DESC
编辑。此 ORDER BY
表达式对所选行没有任何影响,仅影响它们的顺序。它起作用是因为表达式 status=17
作为 bool 值,其值为 1 或 0。对其排序 DESC
会将真值放在第一位,将假值放在第二位。然后 updated_at DESC
将行按日期降序排列。
我猜 17
。将您想要的状态放在那里。
这个
关于php - SQL : How to sort query by date (DESC) while having rows with column specified value at top?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28595780/