我有一个简单的会员数据库;返回会员名单时,我是ORDER BY姓氏......到目前为止一切都很简单。
我有一个newMember字段(简单的0或1 TINYINT),用于切换“新”成员以供管理员批准。
我想按姓氏排序但是如果newMember = 1则将它们放在顶部(最好按姓氏顺序排列)以得到如下结果:
* NEW * Joe BLOGGS * NEW * Simon CAMPS * NEW * James ZULU Sonny ALI Daniel BRAVO Addie WINDOW
我确信有一种方法可以通过CASE声明来做到这一点,但不能完全理解它...任何想法?
答案 0 :(得分:3)
ORDER BY
功能可以按多列排序。
SELECT ... ORDER BY newNumber, surname
它将首先对newNumber进行排序,当它等于另一行时,它会对姓氏进行排序。您还可以在列名称后使用ASC
或DESC
为每个订单指定排序顺序。
答案 1 :(得分:0)
简单地
SELECT * FROM table ORDER BY newMember DESC, surname
它将通过newMember标志对它们进行排序...然后按姓氏
排序相似的标志答案 2 :(得分:0)
试试这个:
select * from members order by newMember desc, surname
答案 3 :(得分:0)
您可以在订单子句中添加更多字段
喜欢:order by newMember desc, surname