MYSQL 按顺序排列

Posted

技术标签:

【中文标题】MYSQL 按顺序排列【英文标题】:MYSQL Order By Sequence 【发布时间】:2018-02-17 13:21:03 【问题描述】:

我需要 mysql 订购方面的帮助,我有这个查询

SELECT
  videos_views.videos_views_id,
  videos_views.videos_views_date,
  SUM(IF(MONTH(videos_views.videos_views_date) = 2, videos_views.videos_views_total, 0)) AS total_view,
  videos.videos_id,
  videos.videos_title,
  videos.videos_description,
  videos.videos_author_list_id,
  author_list.author_list_name,
  author_list.author_list_id
FROM videos
  LEFT OUTER JOIN author_list
    ON videos.videos_author_list_id = author_list.author_list_id
  LEFT OUTER JOIN videos_views
    ON videos.videos_id = videos_views.videos_views_id
WHERE author_list.author_list_video_type = 1
AND videos.videos_id >= 51108
GROUP BY videos_views.videos_views_id,
         videos.videos_id
ORDER BY CASE WHEN MONTH(videos_views.videos_views_date) = 2 THEN SUM(videos_views.videos_views_total) END DESC, 
  CASE WHEN MONTH(videos_views.videos_views_date) <> 2 THEN videos.videos_id END DESC
LIMIT 11    

它会返回以下结果

如果我使用 DESC 或 ASC 使用第一顺序,则返回与上述相同的结果。

我使用二阶通过使用 ASC 返回结果如下:

我需要查询按以下顺序返回值

请帮帮我

【问题讨论】:

【参考方案1】:

您的结果表明您想要:

order by total_views desc, videos_id desc

您可以在order by 中(安全地)引用列别名。

【讨论】:

以上是关于MYSQL 按顺序排列的主要内容,如果未能解决你的问题,请参考以下文章

MySQL PHP插入新行,其中rowNum列值始终按日期和时间按时间顺序排列

Mysql中ORDER BY 排序怎么使用?指定顺序和多字段排列

另一个按 MySQL 查询顺序排列的组

MySQL按X排序然后分组按Y然后按字母顺序排列

按字母顺序排列的数据透视表

excel中怎么将英文单词按字母顺序排序?