按优先级排序注释

时间:2014-03-25 11:35:58

标签: mysql sql-order-by

我正在开发一个基于mysql的评论系统,我必须按流行,最新和最老的方式对评论进行排序,我有最新和最老的工作正常但我在按人气排序评论时遇到问题。我在我的数据库中有一个注释表,其中存储了comment_date,comments_votes和comment_text,我希望首先按投票排序注释,对于没有任何投票的注释我想按日期对它们进行排序。

例如我有

 id   |   Date   |   Comment   | Votes
 1    | 24 March |    Hello    |  0
 2    | 23 March |    WORLD    |  1
 3    | 25 March |    Hello    |  0
 4    | 26 March |    Hello    |  2

我希望它进行排序,以便按此顺序返回结果4,2,3,1。

3 个答案:

答案 0 :(得分:2)

您可以先按Votes DESC然后Date DESC

进行排序
select * from Table1
ORDER BY Votes DESC ,`Date` DESC

Fiddle Demo

答案 1 :(得分:0)

请试试这个..

SELECT * FROM TABLE
ORDER BY Votes DESC, DATE DESC

这应该有用..

答案 2 :(得分:0)

SELECT id
       ,Date
       ,Comment
       ,Votes
ORDER BY Votes DESC