دستور order by برای مرتب کردن داده های بدست امده از دستور select بکار می رود
بصورت پیش  فرض دستور order by  داده های دستور select را بصورت صعودی یا Asc مرتب می کند
اما اگر می خواهید  داده های خروجی دستور select بصورت نزولی مرتب شود یعنی از بزرگ به کوچک باید از حالت desc استفاده کرد
روش استفاده از order by در دستور Select  بصورت زیر است :
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
 مثال
 برنامه زیر داده هایی را از جدول Persons استخراج کرده و مرتب شده بر اساس فیلد 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 Persons ORDER BY age");

while($row = mysql_fetch_array($result))
  {
  echo $row['FirstName'];
  echo " " . $row['LastName'];
  echo " " . $row['Age'];
  echo "<br>";
  }

mysql_close($con);
?>
 نتیجه اجرای برنامه بالا بصورت زیر است
 Glenn Quagmire 33
Peter Griffin 35
 روش مرتب کردن جدول خروجی بر اساس دو فیلد یا بیشتر
 اگر بخواهید بر اساس دو فیلد ، جدول خروجی را مرتب کنید باید بدانید ابتدا مرتب سازی بر اساس اولین فیلدی که بعد از order by نوشته اید مرتب می شود و سپس اگر در فیلد اول داده تکراری باشد سپس مرتب کردن بر اساس فیلد دومی که بعد از order by نوشته اید مرتب می شود
 روش نوشتن دستور order by بر اساس دو فیلد :
 SELECT column_name(s)
FROM table_name
ORDER BY column1, column2
 مثلا  اگر بخواهید ابتدا بر اساس نام خانوادگی مرتب کنید و بعد اگر دو یا چند نفر فامیل یکسان داشتند انگاه بر اساس نام انها مرتب شود دستور زیر را می نویسیم
 SELECT  *
FROM person
ORDER BY family,name