php - SQL : How to sort query by date (DESC) while having rows with column specified value at top?

标签 php mysql sorting laravel-4

我的大脑在这方面让我失望了。我敢肯定这很容易通过搜索找到,但我很难找到任何相关结果。

我正在使用 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/

相关文章:

php - 将散列密码存储到 Mysql

java - 学习元素排序的算法(最好在 Java 中)

php - 我可以使用 Symfony 的验证约束 NotEqualTo 不区分大小写吗

php - 我该如何管理这个请求?

mysql - 子查询连接失败

java - 使用 JOOQ 从表生成枚举类

php - 我如何将自定义消息设置为此脚本的 sql 查询

PHP 和 MySQL SESSION,最后一行

python - 根据列(字符串)对 pandas 中的 CSV 进行排序

c# - 非基于比较的排序问题的排序算法?