2017-09-14 12 views
3

私はユーザーのテーブルを持っています。このテーブルにはユーザーに関する情報が含まれています。複数の注文をmysqlクエリで設定する

id | name | country 
------------------------------ 
1 | user1 | India 
2 | user2 | China 
3 | user3 | United State 
4 | user4 | India 
5 | user5 | Shri Lanka 
6 | user6 | China 
7 | user7 | India 

私は、ユーザーの検索を行うとID DESCではなく、国、中国のユーザーは最後に来るべきかどう順序のように私がするMySQL query.Theユーザーのリストを書きたいです。

select * from users order by id desc 

このクエリは降順で結果を返しますが、私は国について何を書いているのか分かりません。

私の出力は、条件付きの順序付けを使用することができます

id | name | country 
------------------------------ 
7 | user7 | India 
5 | user5 | Shri Lanka 
4 | user4 | India 
3 | user3 | United State 
1 | user1 | India 
6 | user6 | China 
2 | user2 | China 
+0

[MySQLの複数列の昇順](https://stackoverflow.com/questions/9063135/mysql-multiple-column-asc-order) –

+0

の可能な重複私は最後のテーブルを作成したように私の出力をしたい。 –

答えて

3

が好きでなければならない:

ORDER BY t.country = 'China', // 1 if true, 0 if false, ordered ASC 
     t.id DESC 

MySQLはブール式を受け付けますので、falseの場合t.country = 'China'は1 trueの場合、0になります。

+0

ありがとうサギそれは働いた –

2

は、以下の

SELECT * FROM users ORDER BY country = 'China',id DESC 

条件付き発注はあなたの問題を満たすことができます試してみてください。

+0

私の答えとは何が違うのですか? – sagi

+0

ありがとうArunそれは働いた。 –

+0

答えが親切にそれをアップアップしている場合は、それをupvote @ HarshwardhanSharma –

関連する問題