2016-07-30 20 views
0

私はこれを行うことができます"SELECT * FROM members WHERE isHere = 0 ORDER BY surname"私のデータベースからここにないメンバーを取得し、それらを並べ替えるには知っています。しかし、彼らの姓が同じなら、名前で並べ替えることにします。これを行う方法に関するヒント?PHPを使用してMySqlから名前と姓をソートする方法は?

答えて

0

複数の列をORDER BYすることができます。このように、

SELECT * 
FROM members 
WHERE isHere = 0 
ORDER BY surname ASC, name ASC; 

あなたが複数の列に並べ替えることができ、あなたがソート異なる列を異なる方向に 、意味しているあなたはどこ名としてDESCによってASCによる結果はセット並べ替えることができます。

あなたの場合は必須ではありませんが、情報のためだけです。


デフォルトのソートは大文字と小文字を区別しないやり方になります。大文字小文字を区別して列をソートする場合は、列にBINARYキーワードを追加します。このよう

SELECT * 
FROM members 
WHERE isHere = 0 
ORDER BY BINARY surname ASC, name ASC; 

参考:http://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html

+0

ASCまたはDESCを指定することをお勧めします。 –

+0

Trueを追加しました。ありがとう:) –

1

だけで、複数の並べ替えオプションを使用して、複数のORDER BY句を使用します。

SELECT * 
FROM members 
WHERE isHere = 0 
ORDER BY surname ASC, 
name ASC 

これは最初の姓でソートされますと、2人以上のユーザが同じ姓を持っている場合は、その名前によってそれらを並べ替えることができます。必要に応じて、年齢順にソートするソートを追加することもできます。

SELECT * 
FROM members 
WHERE isHere = 0 
ORDER BY surname ASC, 
name ASC, 
age DESC 
0

あなたが最初にして姓の名前をしたい場合は、最初の姓をしたいと、このように使用AME場合は、この

SELECT * FROM members WHERE isHere = 0 ORDER BY name asc,surname asc; 

のように使用します

SELECT * FROM members WHERE isHere = 0 ORDER BY surname asc,name asc; 

変更ascおよびdescの並べ替えによる並べ替え

関連する問題