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列值始终按日期和时间按时间顺序排列