2010-01-05 16 views
9

Diciamo che ho il seguente codice:Ordinare una query mysql alfabetico

SELECT * FROM table where company LIKE '%Auto%' 

e ricevo più risultati, e voglio avere la possibilità di ordinare i risultati in ordine alfabetico, diciamo che l'utente vuole ordina i risultati della ricerca per quelli che iniziano con "C"!

migliori saluti,

+2

Non usare '% Auto%' se non è necessario - non può usare un indice se ne esiste uno sulla colonna, ma 'Auto%' lo sarà. –

risposta

23

Bene, sembra che tu stia parlando di due cose diverse. Se siete interessati a l'ordinamento si avrebbe bisogno di utilizzare la clausola ORDER BY:

SELECT * FROM table ORDER BY name 

Se si desidera filtrare i risultati per articoli che iniziano con la lettera 'C', allora si vorrebbe aggiungere un'altra clausola LIKE con quella lettera:

SELECT * FROM table where company LIKE '%Auto%' AND name LIKE 'C%' 

Inoltre si noterà che il filtro nome ha solo il % dopo che la query. Questa è la sintassi per "inizia con"

7

utilizzare la clausola ORDER BY:

SELECT * 
FROM table 
where company LIKE '%Auto%' 
order by company 
1

aggiungere ORDER BY company, supponendo che si desidera ordinare il valore dell'azienda.

0

provarlo ..... è il mio esempio di lavoro ordinamento il record alphetical ordine ABCD .... Z quando ho clic su una lettera poi il suo mostra inizia tutto nome con una lettera, e fare clic su C lettera poi il suo spettacolo tutto dall'inizio nome con la lettera C

 <?php 
$host = "localhost"; 
$user = "root"; 
$pw = ""; 
$database = "test"; 

$con = mysql_connect($host,$user,$pw) 
    or die("Cannot connect to mySQL."); 

mysql_select_db($database,$con) 
    or die("Cannot connect to database."); 




$errormsg= "No Record Found...!"; 


$alpha="%"; 
if (isset($_REQUEST['alpha'])) { 
$alpha = $_REQUEST['alpha']."%"; 
} 
$q1 = mysql_query("select * from registration where firstname like '$alpha%' "); 





?> 

<div > 
     <form action="" method="post" > 
<table > 
         <td><div style="float:left;"> 
    <CENTER> 
    <FONT COLOR=Green>Sort by Alphabet:</FONT> 
           <A HREF="<?php echo $_SERVER['PHP_SELF']; ?>">All</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=A">A</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=B">B</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=C">C</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=D">D</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=E">E</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=F">F</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=G">G</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=H">H</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=I">I</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=J">J</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=K">K</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=L">L</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=M">M</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=N">N</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=O">O</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=P">P</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=Q">Q</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=R">R</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=S">S</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=T">T</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=U">U</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=V">V</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=W">W</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=X">X</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=Y">Y</A> 
    <FONT COLOR=Green>|</FONT> <A HREF="?alpha=Z">Z</A> 
    </CENTER> 

     </div> 


    </td></tr> 

      <tbody> 
    <?php 



    $i=1; 
    $num_rows=mysql_num_rows($q1); 
    if($num_rows==0) 
    { 
    ?> 
    <div align="center"> 
    <div class="alert alert-danger alert-dismissable"> 

     <?php echo $errormsg; ?></div> 
    </div> 
      <?php 
    } 
    else 
    { 
    while($roww=mysql_fetch_array($q1)) 
    {     
     ?> 
      <tr> 
    <td><div style="height:100px;float:left;"> 
     <input name="" type="checkbox" value=""> 
     </div> 
     <div><a href="#"> <b><?php echo $roww["firstname"]; ?></b></a><br /> 
     :&nbsp;<?php echo $roww["firstname"]; ?><br /> 
     <?php echo $roww["lastname"]; ?><br /> 

     <?php echo $roww["gender"]; ?><br /> 
     </div></td> 
    </tr> 
      <?php } 
      $i++; 
      } 

      ?> 
      </tbody> 

     </table> 
     </form> 
    </div> 
    </body></html> 
    <SCRIPT LANGUAGE=JavaScript> 
     <!-- 
     document.write(ALPHABET()) 
     //--> 
    </SCRIPT> 


CREATE TABLE IF NOT EXISTS `registration` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`firstname` varchar(20) NOT NULL, 
`lastname` varchar(20) NOT NULL, 

`gender` varchar(20) NOT NULL, 


PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; 

esecuzione di codice

Problemi correlati