2010-01-05 39 views
9

比方說,我有以下代碼:訂購一個MySQL查詢按字母順序

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

我得到更多的結果,我想有一個選項,結果按字母順序排序,讓我們說,用戶希望對以「C」開頭的搜索結果進行排序!

最好的問候,

+2

如果您不必使用'%Auto%',則不能使用索引,但如果列上存在索引,但Auto%將會使用索引。 – 2010-01-05 02:01:38

回答

23

好吧,看來你在談論兩件不同的事情。如果你有興趣的排序,你會需要使用ORDER BY子句:如果你想過濾由以字母「C」開頭的項成果

SELECT * FROM table ORDER BY name 

那麼你會希望添加其他的LIKE子句那封信:

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

此外,你會發現,名稱過濾器不僅具有查詢後%。這是語法

7

使用ORDER BY子句:

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

添加ORDER BY company,假設你想在公司的價值進行排序。

0

試試吧.....我的工作示例 排序alphetical爲了ABCD記錄 .... z。如果我點擊字母那麼它「開頭」顯示所有名稱以字母開始,單擊C字母,然後它顯示所有的名字開始與字母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 ; 

運行的代碼