MySQL - Sonuçları Sıralama
SQL'i gördük SELECTMySQL tablosundan veri almak için komut. Satırları seçtiğinizde, MySQL sunucusu, sonucu nasıl sıralayacağınızı söyleyerek aksini belirtmediğiniz sürece bunları herhangi bir sırayla döndürmekte özgürdür. Ancak, bir sonuç kümesini birORDER BY sıralamak istediğiniz sütun veya sütunları adlandıran yan tümce.
Sözdizimi
Aşağıdaki kod bloğu, bir MySQL tablosundaki verileri sıralamak için ORDER BY yan tümcesi ile birlikte SELECT komutunun genel bir SQL sözdizimidir.
SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]
Döndürülen sonucu, bu alan listeleniyorsa, herhangi bir alanda sıralayabilirsiniz.
Sonucu birden fazla alanda sıralayabilirsiniz.
Artan veya azalan sırada sonuç almak için ASC veya DESC anahtar kelimesini kullanabilirsiniz. Varsayılan olarak, artan düzendir.
Bir koşul koymak için WHERE ... LIKE yan tümcesini her zamanki gibi kullanabilirsiniz.
Komut İsteminde ORDER BY yan tümcesini kullanma
Bu, SQL SELECT komutunu kullanacaktır. ORDER BY MySQL tablosundan veri almak için yan tümce - tutorials_tbl.
Misal
Sonucu artan bir sırada döndüren aşağıdaki örneği deneyin.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl ORDER BY tutorial_author ASC
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 2 | Learn MySQL | Abdul S | 2007-05-24 |
| 1 | Learn PHP | John Poul | 2007-05-24 |
| 3 | JAVA Tutorial | Sanjay | 2007-05-06 |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.42 sec)
mysql>
Artan sırada listelenen tüm yazar adlarını doğrulayın.
ORDER BY deyimini PHP Betiği içinde kullanma
PHP işlevinde ORDER BY yan tümcesine benzer bir sözdizimi kullanabilirsiniz - mysql_query(). Bu işlev, SQL komutunu ve daha sonra başka bir PHP işlevini çalıştırmak için kullanılır.mysql_fetch_array() seçilen tüm verileri almak için kullanılabilir.
Misal
Sonucu eğitim yazarlarının azalan sırasına göre döndüren aşağıdaki örneği deneyin.
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
tutorial_author, submission_date
FROM tutorials_tbl
ORDER BY tutorial_author DESC';
mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
echo "Tutorial ID :{$row['tutorial_id']} <br> ".
"Title: {$row['tutorial_title']} <br> ".
"Author: {$row['tutorial_author']} <br> ".
"Submission Date : {$row['submission_date']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>