排序数据

1
2
3
SELECT prod_name
FROM products
ORDER BY prod_name;
  • 通过非选择列进行排序:

    通常,ORDER BY子句中使用的列将是为显示所选择的列。实际上并不一定要这样,用非检索的列排序数据是完全合法的。

按多个列排序

1
2
3
SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price, prod_name;

指定排序方向

1
2
3
SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price DESC, prod_name;
  • 默认排序顺序为升序排序(从A到Z);

    降序排序必须指定关键字DESCDESC关键字只应用到直接位于其前面的列名;

    在多个列上降序排序:如果想在多个列上进行降序排序,必须对每个列指定DESC关键字。

1
2
3
4
5
-- 找到最昂贵的价格
SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;
  • 区分大小写和排序顺序

    在字典排序顺序中,A被视为与a相同,这是MySQL(和大多数数据库管理系统)的默认行为。但是,许多数据库管理员能够在需要时改变这种行为(如果你的数据库包含大量外语字符,可能必须要这样做)。

    如果确实需要改变这种排序顺序,用简单的ORDER BY子句做不到,必须请求数据库管理员的帮助。