Corsi on-line

Ordinare alfabeticamente i risultati di una query partendo da una lettera a scelta

Attraverso un uso sapiente dell’SQL è possibile manipolare, secondo le proprie esigenze, i risultati restituiti da una query. Nello specifico vedremo come ordinare il resultset in ordine alfabetico partendo da una lettera qualsiasi.
Si immagini di avere un elenco di nomi del genere:

  • alberto;
  • bianca;
  • carlo;
  • doloretta;
  • enzo;
  • fausto.

E si supponga di voler riviluzionare l’ordinamento dell’elenco facendolo partire dalla lettera “d”, quindi in questo modo:

  • doloretta;
  • enzo;
  • fausto;
  • alberto;
  • bianca;
  • carlo.

E’ possibile fare una cosa del genere con una query? Si, è possibile, basta utilizzare un’istruzione SQL come la seguente:

SELECT nome FROM t ORDER BY IF(ASCII(LOWER(nome)) >=ASCII
(LOWER('d')),1,2),nome;

La lettera “d” potrà essere sostituita con un altra scelta arbitrariaemente dall’utilizzatore; la query è stata effettuata utilizzando come DBMS di riferimento MySQL.

Post correlati
  • Juri

    Grazie.

    C’è modo di ordinarli non per lettera ma per parola e precisamente quella di una variabile?

    Grazie anticipatamente per la risposta.

  • maxbossi

    Ciao Juri, benvenuto su Mr.Webmaster

    Ti suggerisco di iscriverti al nostro forum e di postare la tua domanda all’interno della sezione database: http://forum.mrwebmaster.it/database/

    Ciao

I più letti del mese
Tematiche