/ / ¿Cómo ordenar por nombre y apellido de MySql usando php? - php, mysql, sql, sql-order-by

¿Cómo ordenar por nombre y apellido desde MySql usando php? - php, mysql, sql, sql-order-by

sé que puedo hacerlo "SELECT * FROM members WHERE isHere = 0 ORDER BY surname" para obtener los miembros que no están aquí de mi base de datos y ordenarlos. Sin embargo, si sus apellidos son los mismos, quiero ordenarlos por nombre. ¿Algún consejo sobre cómo hacer esto?

Respuestas

0 para la respuesta № 1

Puedes ordenar por columnas múltiples. Me gusta esto,

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

Puede ordenar en varias columnas y puede ordenar diferentes columnas en diferentes direcciones, lo que significa que puede ordenar el conjunto de resultados por ASC donde como nombre por DESC.

Lo cual no se requiere en su caso sino solo para información.


La clasificación por defecto será en mayúsculas y minúsculas. Si desea una clasificación sensible a mayúsculas y minúsculas para una columna, agregue un BINARIO palabra clave para una columna.

Me gusta esto,

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

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


1 para la respuesta № 2

Sólo tiene que utilizar múltiples ORDER BY cláusulas para usar múltiples opciones de clasificación:

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

Esto se ordenará por apellido primero y, si dos o más usuarios tienen el mismo apellido, puede ordenarlos por nombre. Si lo desea, también puede agregar una tercera parte para clasificar por edad.

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

0 para la respuesta № 3

Si quieres un nombre primero y luego un apellido, usa así

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

Si quieres el apellido primero y luego usarlo así

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

cambio asc y desc segun clasificacion por