2010-10-19 27 views
8

Estoy tratando de ordenar los datos de mysql alfabéticamente comomysql orden alfabético

A | B | C | D

cuando hago clic en B esta consulta se ejecuta

seleccione el nombre del pedido de un usuario por 'b'

pero resultado que muestra todos los registros que comienzan con A o C o di quieren mostrar registros Sólo a partir de b

gracias por la ayuda

Respuesta

27

quiero mostrar sólo los registros que comienzan por B

select name from user where name LIKE 'b%'; 

estoy tratando de ordenar los datos de MySQL alphabeticaly

select name from user ORDER BY name; 

Estoy tratando de ordenar los datos de MySQL en el orden alfabético inverso

select name from user ORDER BY name desc; 
6

pero resultado que muestra todos los registros empezando por A o C o di quieren registros muestran solamente comenzando con b

Debe utilizar WHERE en ese caso:

select name from user where name = 'b' order by name 

Si desea permitir expresiones regulares, puede utilizar la LIKE operador allí también si quieres. Ejemplo:

select name from user where name like 'b%' order by name 

que seleccionará registros comenzando con b. Siguiente consulta por el contrario va a seleccionar todas las filas donde b se encuentra en cualquier lugar de la columna:

select name from user where name like '%b%' order by name 
1

Si desea restringir las filas devueltas por una consulta, es necesario utilizar una cláusula WHERE, en lugar de una cláusula ORDER BY. Trato

select name from user where name like 'b%' 
2

Se puede utilizar:

SELECT name FROM user WHERE name like 'b%' ORDER BY name 
1

No es necesario que el usuario cláusula where al ordenar los datos en orden alfabético. aquí es mi código

SELECT * FROM tbl_name ORDER BY field_name 

eso es todo. Devuelve los datos en orden alfabético, es decir; De la A a la Z. :)

1

Los caracteres comodín se utilizan con la cláusula like para ordenar registros.

si queremos buscar una cadena que comienza con B es entonces el código es el siguiente:

SELECT * FROM nombretabla, donde nomCol como fin 'B%' por nombrecolumna;

si queremos buscar una cadena que termine con B, entonces el código es como el siguiente: select * from tablename donde colname como '% B' ordena por columnname;

si queremos buscar una cadena que contenga B, entonces el código es como el siguiente: select * from tablename donde colname como '% B%' ordena por columnname;

si queremos buscar una cadena en la que el segundo carácter sea B, entonces el código es como el siguiente: select * from tablename donde colname como '_B%' ordena por columnname;

si queremos buscar una cadena en la que el tercer caracter sea B, el código es el siguiente: select * from tablename donde colname como '__B%' ordena por columnname;

nota: un guión bajo para un caracter.

0

trato de ordenar los datos con la consulta que trabajan bien para mí, por favor, intente esto:

select name from user order by name asc 

Pruebe también por debajo de consulta de registro de búsqueda por alfabéticamente

SELECT name FROM `user` WHERE `name` LIKE 'b%' 
+0

Esta respuesta es la misma que toda la Otras respuestas. ¿Por qué lo publicas? – robinCTS

+0

@LuFFy ¿Por qué editaste esta publicación? La primera parte no es una respuesta a la pregunta (y ya se ha proporcionado en la respuesta aceptada) y la segunda parte solo copia todas las demás respuestas. – robinCTS

+0

Acabo de formatear la respuesta ... puede ver la diferencia haciendo clic en el enlace 'editado'. – LuFFy

Cuestiones relacionadas