2011-11-11 5 views
0

私はシンプルなメンバーシップデータベースを持っています。メンバーシップリストを返すとき、私はORDER BYの姓を指定します。MySQL/PHP - 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

次のような順序句

に複数のフィールドを追加することができます。order by newMember desc, surname

+0

Doh! (SELECT memberID、memberApproved、memberFName、memberSName from tbMembers where memberApproved = 0 ORDER BY memberSName ASC) UNION(SELECT memberID、memberApproved、memberFName、memberSNameからのSELECTのメンバーIDを取得しています) tbMembers WHERE memberApproved = 1 ORDER BY memberSName ASC)LIMIT 0,20'と同じ結果を得る!\ – user1041976

0

単に

SELECT * FROM table ORDER BY newMember DESC, surname 

それはこの試みる名字

+0

うん、これは動作しますが、上記を参照してください! – user1041976

0

ことにより、同様のものを注文し、その後... newMemberフラグで注文します:ORDER BY機能

select * from members order by newMember desc, surname

+0

これはうまくいく、上を参照してください! – user1041976

3

を複数の列で並べ替えることができます。

SELECT ... ORDER BY newNumber, surname 

最初にnewNumberをソートし、別の行と同じ場合は姓でソートします。列名の後にASCまたはDESCを使用して、それぞれの並べ替え順序を指定することもできます。

+0

これはうまくいく、上記を参照してください! – user1041976

関連する問題