2010-01-05 52 views
9

Hãy nói rằng tôi có đoạn mã sau:thứ tự một truy vấn mysql theo thứ tự abc

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

Và tôi nhận được nhiều kết quả hơn, và tôi muốn có một tùy chọn để sắp xếp các kết quả theo thứ tự abc, giả sử rằng người dùng muốn sắp xếp kết quả tìm kiếm cho những kết quả bắt đầu bằng "C"!

Best Regards,

+2

Không sử dụng '% Auto%' nếu bạn không phải - nó không thể sử dụng một chỉ mục nếu có tồn tại trên cột, nhưng 'Auto%' sẽ. –

Trả lời

23

Vâng, có vẻ như bạn đang nói về hai điều khác nhau. Nếu bạn quan tâm đến sắp xếp, bạn sẽ cần phải sử dụng mệnh đề ORDER BY:

SELECT * FROM table ORDER BY name 

Nếu bạn muốn lọc kết quả theo mục bắt đầu bằng chữ 'C' sau đó bạn sẽ muốn thêm một khoản NHƯ với thư đó:

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

Ngoài ra, bạn sẽ nhận thấy rằng bộ lọc tên chỉ có % sau truy vấn. Đây là cú pháp cho "bắt đầu với"

7

Sử dụng ORDER BY khoản:

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

thêm ORDER BY company, giả sử bạn muốn sắp xếp theo giá trị công ty.

0

thử nó ..... nó ví dụ làm việc của tôi sắp xếp các bản ghi theo thứ tự alphetical ABCD .... Z khi tôi Nhấn vào bảng chữ sau đó của nó hiển thị tất cả tên bắt đầu với Một lá thư, và nhấn C Letter sau đó chương trình của nó tất cả các tên bắt đầu với chữ 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 ; 

chạy mã

Các vấn đề liên quan