2016-03-22 8 views
2

MySQLのテーブル:私はmysqlはそれが最初とリスト他よりも景観を取得する必要があります選択書きたい特定の方法で注文するには?

id | category | image<br> 
-------------------------------- 
0 | landscape | image name 
1 | panarimic | image name 
2 | portrait | image name 
3 | landscape | image name 
4 | landscape | image name 
5 | portait  | image name 

。どうやってやるの?カテゴリ番号を追加して「注文」を行うことはできますが、それがないと別の方法がありますか?

+0

最初のIDがカテゴリASC' BY 0秒 'ORDERになることはありません。それはカテゴリ名に基づいてアルファベット順に並べ替えます –

+0

@Anant Thatsはこれが彼のすべてのカテゴリである場合に備えてのみです.. – sagi

答えて

5

はい、あなたはあなたのORDER BY CLAUSECASE EXPRESSIONを使用することができます。

SELECT t.id,t.category,t.image 
FROM YourTable t 
ORDER BY CASE WHEN t.category = 'landscapes' then 1 else 0 end DESC, 
     t.category 
+0

おかげでsagi、それは私が学びたいことです。 – yavona

+0

問題はありません、私は@yavonaの承認を感謝します – sagi

0
SELECT 
    * 
FROM 
    tableName 
ORDER BY 
    CASE 
    WHEN category LIKE 'landscape' 
    THEN 1 
    ELSE 0 
    END DESC ; 
関連する問題