DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(mysql.info.gz) Sorting rows

Info Catalog (mysql.info.gz) Selecting columns (mysql.info.gz) Retrieving data (mysql.info.gz) Date calculations
 
 3.3.4.4 Sorting Rows
 ....................
 
 You may have noticed in the preceding examples that the result rows are
 displayed in no particular order.  It's often easier to examine query
 output when the rows are sorted in some meaningful way.  To sort a
 result, use an `ORDER BY' clause.
 
 Here are animal birthdays, sorted by date:
 
      mysql> SELECT name, birth FROM pet ORDER BY birth;
      +----------+------------+
      | name     | birth      |
      +----------+------------+
      | Buffy    | 1989-05-13 |
      | Bowser   | 1989-08-31 |
      | Fang     | 1990-08-27 |
      | Fluffy   | 1993-02-04 |
      | Claws    | 1994-03-17 |
      | Slim     | 1996-04-29 |
      | Whistler | 1997-12-09 |
      | Chirpy   | 1998-09-11 |
      | Puffball | 1999-03-30 |
      +----------+------------+
 
 On character type columns, sorting--like all other comparison
 operations--is normally performed in a case-insensitive fashion.  This
 means that the order will be undefined for columns that are identical
 except for their case. You can force a case-sensitive sort for a column
 by using the `BINARY' cast: `ORDER BY BINARY col_name'.
 
 The default sort order is ascending, with smallest values first.  To
 sort in reverse (descending) order, add the `DESC' keyword to the name
 of the column you are sorting by:
 
      mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
      +----------+------------+
      | name     | birth      |
      +----------+------------+
      | Puffball | 1999-03-30 |
      | Chirpy   | 1998-09-11 |
      | Whistler | 1997-12-09 |
      | Slim     | 1996-04-29 |
      | Claws    | 1994-03-17 |
      | Fluffy   | 1993-02-04 |
      | Fang     | 1990-08-27 |
      | Bowser   | 1989-08-31 |
      | Buffy    | 1989-05-13 |
      +----------+------------+
 
 You can sort on multiple columns, and you can sort columns in different
 directions.  For example, to sort by type of animal in ascending order,
 then by birth date within animal type in descending order (youngest
 animals first), use the following query:
 
      mysql> SELECT name, species, birth FROM pet
          -> ORDER BY species, birth DESC;
      +----------+---------+------------+
      | name     | species | birth      |
      +----------+---------+------------+
      | Chirpy   | bird    | 1998-09-11 |
      | Whistler | bird    | 1997-12-09 |
      | Claws    | cat     | 1994-03-17 |
      | Fluffy   | cat     | 1993-02-04 |
      | Fang     | dog     | 1990-08-27 |
      | Bowser   | dog     | 1989-08-31 |
      | Buffy    | dog     | 1989-05-13 |
      | Puffball | hamster | 1999-03-30 |
      | Slim     | snake   | 1996-04-29 |
      +----------+---------+------------+
 
 Note that the `DESC' keyword applies only to the column name immediately
 preceding it (`birth'); it does not affect the `species' column sort
 order.
 
Info Catalog (mysql.info.gz) Selecting columns (mysql.info.gz) Retrieving data (mysql.info.gz) Date calculations
automatically generated byinfo2html