PHP MySQL Order By
PHP MySQL Order By 關鍵詞
ORDER BY 關鍵詞用于對記錄集中的數據進行排序。
ORDER BY 關鍵詞
ORDER BY 關鍵詞用于對記錄集中的數據進行排序。
ORDER BY 關鍵詞默認對記錄進行升序排序。
如果你想降序排序,請使用 DESC 關鍵字。
語法
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
這里在說下GROUP BY的用法:
GROUP BY最大的作用是與COUNT配合使用
SELECT city, COUNT(city) FROM cv GROUP BY city;
上面的語句可以統計出,每個城市的簡歷的數量,一定要注意,你GROUP BY什么字段,才可以去COUNT哪個字段
簡單介紹LIMIT用法:
SELECT col_name FROM tbl_name LIMIT offset, rows;
?offset:從符合條件的所有記錄的第幾條開始取數據 ?rows:取多少條數據
從第1條記錄(0)開始取5條記錄
SELECT * FROM cv LIMIT 5;
SELECT * FROM cv LIMIT 0, 5;
從第6條記錄(5)開始取5條記錄
SELECT * FROM cv LIMIT 5, 5;
順便提一下having的用法:
having只能使用在group by之后,用來對分組的結果進行再篩選
SELECT city, COUNT(city) FROM cv GROUP BY city HAVING COUNT(city) > 2;
上面的語句表示,先按城市進行分組,將分組的結果再按數量超過2的條件進行過濾
注意,因為是對結果再篩選,HAVING里使用的字段必須是在SELECT中查詢結果中包含的字段,也就是說前面的語句中,只有city字段可以作為having的篩選條件,使用其他字段則會提示未知字段
having和where的區(qū)別:
SELECT name FROM cv WHERE age > 20 GROUP BY city;
上面的語句表示,先按age>20的條件進行查詢,再對查詢的結果進行分組
兩者的區(qū)別是先后順序不同,where是先篩選數據,having對分組的結果進行篩選
實例
下面的實例選取 "Persons" 表中存儲的所有數據,并根據 "Age" 列對結果進行排序:
<?php $con=mysqli_connect("localhost","username","password","database"); // 檢測連接 if (mysqli_connect_errno()) { echo "連接失敗: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM Persons ORDER BY age"); while($row = mysqli_fetch_array($result)) { echo $row['FirstName']; echo " " . $row['LastName']; echo " " . $row['Age']; echo "<br>"; } mysqli_close($con); ?>
以上結果將輸出:
Glenn Quagmire 33
Peter Griffin 35
根據兩列進行排序
可以根據多個列進行排序。當按照多個列進行排序時,只有第一列的值相同時才使用第二列:
SELECT column_name(s) FROM table_name ORDER BY column1, column2