2010-01-05 41 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 ; 

运行的代码