2010-10-19 43 views
8

sto cercando di ordinare i dati mysql in ordine alfabetico comemysql in ordine alfabetico

A | B | C | D

quando clicco su B questa query viene eseguita

selezionare il nome dall'ordine utente da 'b'

ma risultato mostrato tutti i record che iniziano con A o C o di voglia di mostrare i record solo a partire con b

grazie per aiuto

risposta

27

voglio mostrare solo i record che iniziano con b

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

sto cercando di ordinare i dati MySQL alphabeticaly

select name from user ORDER BY name; 

Sto cercando di ordinare i dati di MySQL in ordine alfabetico inverso

select name from user ORDER BY name desc; 
6

ma di risultati che mostra tutti i record iniziando con A o C o di voler Mostra record solo a partire con b

Si dovrebbe usare WHERE in quel caso:

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

Se si desidera consentire regex, è possibile utilizzare il LIKE operatore anche lì se vuoi. Esempio:

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

Ciò selezionerà i record che iniziano con b. Query seguente d'altra parte selezionerà tutte le righe in cui b si trova in qualsiasi punto della colonna:

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

Se si desidera limitare le righe restituite da una query, è necessario utilizzare una clausola WHERE, piuttosto che una clausola ORDER BY. Provate

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

È possibile utilizzare:

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

Non è necessario per l'utente in cui la clausola mentre ordinare i dati in ordine alfabetico. Ecco il mio codice

SELECT * FROM tbl_name ORDER BY field_name 

il gioco è fatto. Restituisce i dati in ordine alfabetico, ovvero; Dalla A alla Z. :)

1

Caratteri jolly vengono utilizzati con la clausola like per ordinare i record.

se vogliamo cercare una stringa che è inizia con B, allora il codice è simile al seguente:

select * from nometabella dove colname come 'B%' ORDER BY nomecolonna;

se vogliamo cercare una stringa che è termina con B, allora il codice è simile al seguente: select * from nometabella dove colname come '% B' ORDER BY nomecolonna;

se vogliamo cercare una stringa che contiene B, il codice è come il seguente: selezionare * da tablename dove nome come '% B%' ordina per nome colonna;

se vogliamo cercare una stringa in cui il secondo carattere è B, il codice è come il seguente: selezionare * da tablename dove nome come "_B%" ordina per nome della colonna;

se vogliamo cercare una stringa in cui il terzo carattere è B, il codice è come il seguente: selezionare * da tablename dove nome come '__B%' ordina per nome della colonna;

nota: una sottolineatura per un carattere.

0

cerco di ordinare i dati con Query che lavorano bene per me si prega di provare questo:

select name from user order by name asc 

Prova anche al di sotto di query per il record di ricerca per ordine alfabetico

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

Questa risposta è la stessa di tutti i altre risposte Perché lo stai postando? – robinCTS

+0

@LuFFy Perché hai modificato questo post? La prima parte non è una risposta alla domanda (ed è già stata fornita nella risposta accettata) e la seconda parte copia semplicemente ogni altra risposta. – robinCTS

+0

Ho appena formattato la risposta .. puoi vedere la differenza cliccando sul link 'modificato'. – LuFFy

Problemi correlati