MySQL按第一列排序,按第二列排序

标签 mysql sql sorting datetime sql-order-by

我正在尝试为我的 MySQL 查询获取正确的 ORDER BY,但是我无法通过正确的方式获取顺序。

我有两列:

  1. breaking_news = 值为 NULL1
  2. news_published_dt = 值为 DATETIME

我怎样才能排序,以便第一个输出是 breaking_news NOT NULLDATETIME 排序,然后其余输出按 DATETIME 排序>?

我试过了,但是没有输出

ORDER BY CASE WHEN n.breaking_news IS NOT NULL THEN 1 ELSE 2 END, n.news_published_dt DESC

最佳答案

看起来,您正在寻找这个:

SELECT 
    * 
FROM 
    tableName 
ORDER BY 
    breaking_news DESC, 
    news_published_dt ASC

关于MySQL按第一列排序,按第二列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36328838/

相关文章:

arrays - VBA - 匹配2个排序字符串数组,其中某些元素不匹配 - 优化

mysql - 将 Apache 访问日志存储到 MySQL

php - 使用 mysql 只插入一次行(在一个查询中)

php - 一年前查询日期时间

sql - 在postgres中声明一个表类型的变量

java - 如何在Java中将一个整数插入到已排序的List中?

Mysql:按两列排序,使用文件排序

php - 无法使用 PHP 从 MySQL 获取数据

sql - intersect 的查询是否等同于那些 'where a and b' ?

python - 根据条件委托(delegate)排序