/ / Jak sortować według imienia i nazwiska z MySql przy użyciu php? - php, mysql, sql, sql-order-by

Jak sortować według imienia i nazwiska z MySql za pomocą php? - php, mysql, sql, sql-order-by

wiem, że potrafię to zrobić "SELECT * FROM members WHERE isHere = 0 ORDER BY surname" aby pobrać członków, których nie ma tutaj z mojej bazy danych, i posortować ich. Jednak jeśli ich nazwiska są takie same, chcę je posortować według nazw. Jakieś wskazówki, jak to zrobić?

Odpowiedzi:

0 dla odpowiedzi № 1

Możesz ZAMÓWIĆ WEDŁUG wielu kolumn. Lubię to,

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

Możesz sortować według wielu kolumn i różnych kolumn w różnych kierunkach, co oznacza, że ​​możesz posortować zestaw wyników według ASC, a według nazwy według DESC.

Co nie jest wymagane w twoim przypadku, ale tylko dla informacji.


Domyślne sortowanie odbywa się bez rozróżniania wielkości liter. Jeśli chcesz sortować według wielkości liter dla kolumny, dodaj DWÓJKOWY słowo kluczowe dla kolumny.

Lubię to,

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

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


1 dla odpowiedzi nr 2

Po prostu użyj wielu ORDER BY klauzule do korzystania z wielu opcji sortowania:

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

To posortuje najpierw według nazwiska, a jeśli dwóch lub więcej użytkowników ma to samo nazwisko, możesz je posortować według nazwiska. Jeśli chcesz, możesz dodać sortowanie według trzeciego stopnia, aby posortować według wieku.

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

0 dla odpowiedzi № 3

Jeśli chcesz najpierw podać imię, a potem nazwisko, użyj tego w ten sposób

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

Jeśli chcesz najpierw nazwisko, a potem ame użyj tego w ten sposób

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

zmiana asc i desc według sortowania według