如何按我的SQL中的特定列名进行排序

时间:2014-10-20 18:34:56

标签: mysql mysqli

iam在社交网站的工作上,所以我想根据登录的用户位置列出用户

我的表样本表结构是(id,name,username,password,country,state)

id,name,username,password,country,state

1,rameez,rameezrami,密码,印度,喀拉拉

2,rameez1,rameezrami,密码,印度,喀拉拉

3,rameez2,rameezrami,密码,country1,state1

4,rameez3,rameezrami,密码,country2,state2

如果登录用户来自喀拉拉邦我想首先列出所有喀拉拉邦用户然后来自印度的所有其他州用户,然后来自其他国家我该怎么做才能帮助我...

2 个答案:

答案 0 :(得分:1)

我认为这会对你有帮助。

SELECT * FROM tableName WHERE (state='kerala' OR country='India' OR 1=1) ORDER BY state='kerala' DESC, country='India' DESC

答案 1 :(得分:0)

由于您似乎想以某种非标准方式订购,因此您必须使用您的条件创建一个列,并在ORDER BY

中使用该列
   SELECT id, name, username, password, country, state, 
           if(state = 'kerala', 0, if(country='india', 1,2)) as ord_col
   FROM your_table
   ORDER BY ord_col