2016-05-06 5 views
0

私はMySQLにテーブルを持っています。このテーブルには私のウェブサイトにある広告の情報が入っています。場合によっては、ページ内で最初に表示されるように行をクエリ結果の上に置く必要があり、これは他のいくつかの行で頻繁に必要になることがあります。私は、特定の行をクエリ結果の先頭に押し上げる適切な方法を探しています。特定の行に基づいてMySQLの行を並べ替える

このタスクを実行する最適な解決策は何ですか?

+3

通常、複雑な条件の「ORDER BY」か、2つのクエリを結合します。条件はどうですか? – tadman

+0

クエリ&|またはデータを回答するのが難しい場合は、 –

+1

'条件1の場合、その他の条件2の場合は1 else条件2の終了、Field2、Field3、Field4'このように条件を満たすものは1番目です。 – xQbert

答えて

2

はあなたの特別な行が最初にこのすべてSpecialAdがなるショーSpecialAd

SELECT * 
FROM YourTable 
ORDER BY CASE 
       WHEN `SpecialAd` = true THEN 0 
             ELSE 1 
      END, 
      OtherSortField 

のようなフィールドを持っていると仮定しましょう、そしてあなたは、各グループ内でソートするために、第2のSortFieldを使用することができます。

関連する問題