MySQL Order By語法介紹
更新時(shí)間:2012年07月29日 23:30:08 作者:
今天在使用ORDER BY的過程中出現(xiàn)了一點(diǎn)問題,發(fā)現(xiàn)之前對(duì)ORDER BY理解是錯(cuò)誤的
今天在使用ORDER BY的過程中出現(xiàn)了一點(diǎn)問題,發(fā)現(xiàn)之前對(duì)ORDER BY理解是錯(cuò)誤的。
之前在w3s網(wǎng)站上看到ORDER BY的用法,以為是對(duì)選出來的數(shù)據(jù)按關(guān)鍵字升序或者降序排列,結(jié)果今天嘗試select數(shù)據(jù)集數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)使用ORDER BY 和ORDER BY DESC得出的查詢結(jié)果完全不一樣,按照自己之前的理解它們應(yīng)該是結(jié)果相同,而內(nèi)部順序不一樣而已。
問了一下同事,查了一下文檔,才恍然大悟。如果我們?cè)趫?zhí)行select語句的時(shí)候使用ORDER BY (DESC),那么它首先會(huì)對(duì)所有記錄按照關(guān)鍵字有一個(gè)排序,然后依次讀取所需的記錄,而不是先選出記錄再進(jìn)行降序排列。 一個(gè)概念性的錯(cuò)誤,所以記下來警示自己。
MySQL Order By keyword是用來給記錄中的數(shù)據(jù)進(jìn)行分類的。
MySQL Order By Keyword根據(jù)關(guān)鍵詞分類
ORDER BY keyword是用來給記錄中的數(shù)據(jù)進(jìn)行分類的。
MySQL Order By語法
SELECT column_name(s)
FROM table_name
ORDER BY column_name
注意:SQL語句是“字母大小寫不敏感”的語句(它不區(qū)分字母的大小寫),即:“ORDER BY”和“order by”是一樣的。
MySQL Order By案例
下面的例子:從“Person”表中選取所有記錄,并將“Age”列進(jìn)行分類:
<?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]
上面的代碼將輸出下面的結(jié)果:
Glenn Quagmire 33
Peter Griffin 35
按照升序或者降序進(jìn)行分類排列
如果你使用了“ORDER BY”關(guān)鍵詞,所有記錄將按照默認(rèn)的升序進(jìn)行排列(即:從1到9,從a到z)
使用“DESC”關(guān)鍵詞可以制定所有的數(shù)據(jù)按照降序排列(即:從9到1,從z到a):
[code]
SELECT column_name(s)
FROM table_name
ORDER BY column_name DESC
MySQL Order By根據(jù)兩列進(jìn)行分類
很多時(shí)候,我們需要同時(shí)根據(jù)兩列內(nèi)容(或者更多列)來對(duì)數(shù)據(jù)進(jìn)行分類。當(dāng)指定的列數(shù)多于一列時(shí),僅在第一列的值完全相同時(shí)才參考第二列:
SELECT column_name(s)
FROM table_name
ORDER BY column_name1, column_name2
之前在w3s網(wǎng)站上看到ORDER BY的用法,以為是對(duì)選出來的數(shù)據(jù)按關(guān)鍵字升序或者降序排列,結(jié)果今天嘗試select數(shù)據(jù)集數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)使用ORDER BY 和ORDER BY DESC得出的查詢結(jié)果完全不一樣,按照自己之前的理解它們應(yīng)該是結(jié)果相同,而內(nèi)部順序不一樣而已。
問了一下同事,查了一下文檔,才恍然大悟。如果我們?cè)趫?zhí)行select語句的時(shí)候使用ORDER BY (DESC),那么它首先會(huì)對(duì)所有記錄按照關(guān)鍵字有一個(gè)排序,然后依次讀取所需的記錄,而不是先選出記錄再進(jìn)行降序排列。 一個(gè)概念性的錯(cuò)誤,所以記下來警示自己。
MySQL Order By keyword是用來給記錄中的數(shù)據(jù)進(jìn)行分類的。
MySQL Order By Keyword根據(jù)關(guān)鍵詞分類
ORDER BY keyword是用來給記錄中的數(shù)據(jù)進(jìn)行分類的。
MySQL Order By語法
復(fù)制代碼 代碼如下:
SELECT column_name(s)
FROM table_name
ORDER BY column_name
注意:SQL語句是“字母大小寫不敏感”的語句(它不區(qū)分字母的大小寫),即:“ORDER BY”和“order by”是一樣的。
MySQL Order By案例
下面的例子:從“Person”表中選取所有記錄,并將“Age”列進(jìn)行分類:
復(fù)制代碼 代碼如下:
<?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]
上面的代碼將輸出下面的結(jié)果:
Glenn Quagmire 33
Peter Griffin 35
按照升序或者降序進(jìn)行分類排列
如果你使用了“ORDER BY”關(guān)鍵詞,所有記錄將按照默認(rèn)的升序進(jìn)行排列(即:從1到9,從a到z)
使用“DESC”關(guān)鍵詞可以制定所有的數(shù)據(jù)按照降序排列(即:從9到1,從z到a):
[code]
SELECT column_name(s)
FROM table_name
ORDER BY column_name DESC
MySQL Order By根據(jù)兩列進(jìn)行分類
很多時(shí)候,我們需要同時(shí)根據(jù)兩列內(nèi)容(或者更多列)來對(duì)數(shù)據(jù)進(jìn)行分類。當(dāng)指定的列數(shù)多于一列時(shí),僅在第一列的值完全相同時(shí)才參考第二列:
復(fù)制代碼 代碼如下:
SELECT column_name(s)
FROM table_name
ORDER BY column_name1, column_name2
相關(guān)文章
mysql數(shù)據(jù)庫中1045錯(cuò)誤的解決方法
這篇文章主要為大家詳細(xì)介紹了MySQL數(shù)據(jù)庫中1045錯(cuò)誤的解決方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
3種高效的Tags標(biāo)簽系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)方案分享
這篇文章主要介紹了3種高效的Tags標(biāo)簽系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)方案分享,現(xiàn)在主流的博客、CMS系統(tǒng)都有一個(gè)標(biāo)簽系統(tǒng),本文就探討它的數(shù)據(jù)庫設(shè)計(jì)方式,需要的朋友可以參考下2014-07-07
mysql根據(jù)拼音字母查詢(簡(jiǎn)單易懂的字段拼音查詢)
MySQL在開發(fā)中,我們經(jīng)常需要根據(jù)字段拼音查詢數(shù)據(jù)庫中的數(shù)據(jù),它支持多種查詢方式,包括根據(jù)拼音字母查詢,使用 Collation 可以方便地進(jìn)行簡(jiǎn)單的拼音查詢,而使用拼音索引可以大幅提高查詢性能,根據(jù)具體的需求和情況,我們可以選擇合適的方法來實(shí)現(xiàn)拼音查詢2023-10-10
MySQL索引的缺點(diǎn)以及MySQL索引在實(shí)際操作中有哪些事項(xiàng)
以下的文章主要介紹的是MySQL索引的缺點(diǎn)以及MySQL索引在實(shí)際操作中有哪些事項(xiàng)是值得我們大家注意的,我們大家可能不知道過多的對(duì)索引進(jìn)行使用將會(huì)造成濫用,需要的朋友可以了解下2012-12-12
MySQL錯(cuò)誤日志與通用查詢?nèi)罩緢D文詳析
精通MySQL日志管理,這對(duì)處理故障與優(yōu)化太關(guān)鍵了,下面這篇文章主要給大家介紹了關(guān)于MySQL錯(cuò)誤日志與通用查詢?nèi)罩镜南嚓P(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02

