MySQL Order By文法介紹

來源:互聯網
上載者:User

今天在使用ORDER BY的過程中出現了一點問題,發現之前對ORDER BY理解是錯誤的。

之前在w3s網站上看到ORDER BY的用法,以為是對選出來的資料按關鍵字升序或者降序排列,結果今天嘗試select資料集資料的時候,發現使用ORDER BY 和ORDER BY DESC得出的查詢結果完全不一樣,按照自己之前的理解它們應該是結果相同,而內部順序不一樣而已。

問了一下同事,查了一下文檔,才恍然大悟。如果我們在執行select語句的時候使用ORDER BY (DESC),那麼它首先會對所有記錄按照關鍵字有一個排序,然後依次讀取所需的記錄,而不是先選出記錄再進行降序排列。 一個概念性的錯誤,所以記下來警示自己。

MySQL Order By keyword是用來給記錄中的資料進行分類的。

MySQL Order By Keyword根據關鍵詞分類

ORDER BY keyword是用來給記錄中的資料進行分類的。

MySQL Order By文法 複製代碼 代碼如下:SELECT column_name(s)
FROM table_name
ORDER BY column_name

注意:SQL語句是“字母大小寫不敏感”的語句(它不區分字母的大小寫),即:“ORDER BY”和“order by”是一樣的。

MySQL Order By案例

下面的例子:從“Person”表中選取所有記錄,並將“Age”列進行分類: 複製代碼 代碼如下:<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person ORDER BY age");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName']
echo " " . $row['LastName'];
echo " " . $row['Age'];
echo "<br />";
}
mysql_close($con);
?>
[html]
上面的代碼將輸出下面的結果:

Glenn Quagmire 33

Peter Griffin 35

按照升序或者降序進行分類排列

如果你使用了“ORDER BY”關鍵詞,所有記錄將按照預設的升序進行排列(即:從1到9,從a到z)

使用“DESC”關鍵詞可以制定所有的資料按照降序排列(即:從9到1,從z到a):
[code]
SELECT column_name(s)
FROM table_name
ORDER BY column_name DESC

MySQL Order By根據兩列進行分類

很多時候,我們需要同時根據兩列內容(或者更多列)來對資料進行分類。當指定的列數多於一列時,僅在第一列的值完全相同時才參考第二列: 複製代碼 代碼如下:SELECT column_name(s)
FROM table_name
ORDER BY column_name1, column_name2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.