按MySQL查询中的字段值排序

时间:2014-12-16 10:03:21

标签: mysql sorting

我有一个名为 tbl_posts 的MySQL表,列标题,类别,时间戳

title  category  timestamp
CAT    animal    2014-12-12 05:54:49 
ROSE   flower    2014-12-12 05:54:50
APPLE  fruit     2014-12-12 05:54:51
DOG    animal    2014-12-12 05:54:52

我希望MySQL查询根据类别进行排序。 当我搜索类别' animal'时,CAT和DOG想要先显示,然后追加其他类别。我想要的输出如下

   title  category  timestamp
    DOG    animal    2014-12-12 05:54:52
    CAT    animal    2014-12-12 05:54:49 
    ROSE   flower    2014-12-12 05:54:50
    APPLE  fruit     2014-12-12 05:54:51

提前致谢。

3 个答案:

答案 0 :(得分:1)

SELECT DISTINCT y.* 
  FROM my_table x 
  JOIN my_table y 
    ON y.category = x.category  
 ORDER 
    BY y.title = 'dog' DESC
     , y.category;

或类似的东西

答案 1 :(得分:0)

这应该通过ORDER BY子句完成,如下所示:

SELECT title, category, timestamp
FROM tbl_posts
ORDER BY category  

答案 2 :(得分:-1)

Ahem,查询(根据你所显示的内容)获得该结果

SELECT *
FROM myTable
ORDER BY category ASC, timestamp DESC