1

クエリでこれを実行できるかどうかを視覚化するためのヘルプが必要です。

要素1と要素2があります。

要素1はVIPです

要素2は通常、重要ではありません。

他のすべての共通点は同じです。

DBから要素1と要素2を選択し、作成日で並べ替えますが、すべてのVIPが最初に、次に通常の要素を選択するにはどうすればよいですか?

table events
eventid int
eventinfo text
vip      tinyint
datecreated timestamp

したがって、本質的にこれをすべて最初にvipsイベントを表示しようとしてから、各ページで10個に制限された残りのイベントを表示します。

4

2 に答える 2

0

このような:

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

これにより、要素VIPが最初に来て、次に他の要素が来るようになります。

SQL FIDDLE DEMO

于 2013-02-23T00:18:30.473 に答える
0

結果は、で並べ替える必要がありVIPますdate。次のようになります。

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

ASCまたはを追加DESCして、昇順または降順を取得することもできます。

于 2013-02-23T00:22:10.770 に答える