next up previous contents index
Next: Destroying Tables Up: Basic SQL Commands Previous: Modifying Data with UPDATE

  
Sorting Data with ORDER BY

In a SELECT query, rows are displayed in an undetermined order. To guarantee that the rows will be returned from SELECT in a specific order, you must add the ORDER BY clause to the end of the SELECT. Figure [*] shows the use of ORDER BY.  

        test=> SELECT * FROM friend ORDER BY state;
            firstname    |       lastname       |      city       | state | age 
        -----------------+----------------------+-----------------+-------+-----
         Cindy           | Anderson             | Denver          | CO    |  23
         Mike            | Nichols              | Tampa           | FL    |  20
         Sam             | Jackson              | Allentown       | PA    |  22
        (3 rows)
 

 You can reverse the order by adding DESC, as shown in Figure [*].  

        test=> SELECT * FROM friend ORDER BY age DESC;
            firstname    |       lastname       |      city       | state | age 
        -----------------+----------------------+-----------------+-------+-----
         Cindy           | Anderson             | Denver          | CO    |  23
         Sam             | Jackson              | Allentown       | PA    |  22
         Mike            | Nichols              | Tampa           | FL    |  20
        (3 rows)
 

If the query also used a WHERE clause, the ORDER BY would appear after the WHERE clause, as in Figure [*].  

        test=> SELECT * FROM friend WHERE age >= 21 ORDER BY firstname;
            firstname    |       lastname       |      city       | state | age 
        -----------------+----------------------+-----------------+-------+-----
         Cindy           | Anderson             | Denver          | CO    |  23
         Sam             | Jackson              | Allentown       | PA    |  22
        (2 rows)
 

You can ORDER BY more than one column by specifying multiple column names or labels, separated by commas. The command would then sort by the first column specified. For rows with equal values in the first column, it would sort based on the second column specified. Of course, this approach is not useful in the friend example because all column values are unique. 


next up previous contents index
Next: Destroying Tables Up: Basic SQL Commands Previous: Modifying Data with UPDATE
Bruce Momjian
2001-05-09