一个MySql查询检索由Datetime排序的两个部分?

时间:2013-02-23 00:07:12

标签: mysql database

我需要一些帮助来可视化我是否可以通过查询执行此操作。

我有元素1和元素2。

元素一是VIP

元素二正常并不重要。

所有其他共性都是相同的。

如何从DB中选择元素1和元素2,我按照创建日期的顺序选择,但是所有VIP首先是普通元素?

table events
eventid int
eventinfo text
vip      tinyint
datecreated timestamp

因此,首先要尝试向vip事件展示这一事件,然后将每个页面的其余事件限制为10。

2 个答案:

答案 0 :(得分:0)

像这样:

SELECT *
FROM events
ORDER BY CASE WHEN VIP = 1 THEN 0 ELSE 1 END, DateCreated DESC;

这将使元素VIP先于其他元素。

SQL FIDDLE DEMO

答案 1 :(得分:0)

您应按VIPdate订购结果。看起来应该是这样的:

SELECT (...) FROM (...) WHERE (...) ORDER BY date, VIP;

您还可以添加ASCDESC以获得升序或降序。