MySQL学习足迹记录03--ORDER BY,DESC

                 排序所用到的表格数据,详见MySQL学习足迹记录02


1.ORDER BY
  为了形成对比,这里先列出不用ORDER BY排序的结果

  mysql> SELECT prod_name FROM products;  #受MySQL重回收存储空间的影响,

                                                                                  #每次查询排序的结果可能不同

+----------------+
| prod_name      |
+----------------+
| .5 ton anvil   |
| 1 ton anvil    |
| 2 ton anvil    |
| Detonator      |
| Bird seed      |
| Carrots        |
| Fuses          |
| JetPack 1000   |
| JetPack 2000   |
| Oil can        |
| Safe           |
| Sling          |
| TNT (1 stick)  |
| TNT (5 sticks) |
+----------------+



 *用ORDER BY排序
  eg:
 mysql> SELECT prod_name FROM products ORDER BY prod_price;

+----------------+
| prod_name      |
+----------------+
| TNT (1 stick)  |
| Carrots        |
| Fuses          |
| Sling          |
| .5 ton anvil   |
| Oil can        |
| 1 ton anvil    |
| TNT (5 sticks) |
| Bird seed      |
| Detonator      |
| 2 ton anvil    |
| JetPack 1000   |
| Safe           |
| JetPack 2000   |
+----------------+



  *按多个列排序(先排完A,再从结果中排B)
  eg:
     mysql> SELECT prod_name,prod_id,prod_price FROM products ORDER BY prod_price,prod_name;
                                                       #先按prod_price排序,再从排序结果中价格相同的部分再按prod_name排序

+----------------+---------+------------+
| prod_name      | prod_id | prod_price |
+----------------+---------+------------+
| Carrots        | FC      |       2.50 |
| TNT (1 stick)  | TNT1    |       2.50 |
| Fuses          | FU1     |       3.42 |
| Sling          | SLING   |       4.49 |
| .5 ton anvil   | ANV01   |       5.99 |
| Oil can        | OL1     |       8.99 |
| 1 ton anvil    | ANV02   |       9.99 |
| Bird seed      | FB      |      10.00 |
| TNT (5 sticks) | TNT2    |      10.00 |
| Detonator      | DTNTR   |      13.00 |
| 2 ton anvil    | ANV03   |      14.99 |
| JetPack 1000   | JP1000  |      35.00 |
| Safe           | SAFE    |      50.00 |
| JetPack 2000   | JP2000  |      55.00 |
+----------------+---------+------------+




2.指定排序方向
  *默认的排序方向为升序(ASC),为了进行降序,必须用DESC关键字

  eg:
   mysql> SELECT prod_name,prod_id,prod_price FROM products ORDER BY prod_price DESC;

+----------------+---------+------------+
| prod_name      | prod_id | prod_price |
+----------------+---------+------------+
| JetPack 2000   | JP2000  |      55.00 |
| Safe           | SAFE    |      50.00 |
| JetPack 1000   | JP1000  |      35.00 |
| 2 ton anvil    | ANV03   |      14.99 |
| Detonator      | DTNTR   |      13.00 |
| TNT (5 sticks) | TNT2    |      10.00 |
| Bird seed      | FB      |      10.00 |
| 1 ton anvil    | ANV02   |       9.99 |
| Oil can        | OL1     |       8.99 |
| .5 ton anvil   | ANV01   |       5.99 |
| Sling          | SLING   |       4.49 |
| Fuses          | FU1     |       3.42 |
| Carrots        | FC      |       2.50 |
| TNT (1 stick)  | TNT1    |       2.50 |
+----------------+---------+------------+
   
 *先降序,再按多个列排序
   mysql> SELECT prod_name,prod_id,prod_price FROM products ORDER BY prod_price DESC,prod_name;

+----------------+---------+------------+
| prod_name      | prod_id | prod_price |
+----------------+---------+------------+
| JetPack 2000   | JP2000  |      55.00 |
| Safe           | SAFE    |      50.00 |
| JetPack 1000   | JP1000  |      35.00 |
| 2 ton anvil    | ANV03   |      14.99 |
| Detonator      | DTNTR   |      13.00 |
| Bird seed      | FB      |      10.00 |
| TNT (5 sticks) | TNT2    |      10.00 |
| 1 ton anvil    | ANV02   |       9.99 |
| Oil can        | OL1     |       8.99 |
| .5 ton anvil   | ANV01   |       5.99 |
| Sling          | SLING   |       4.49 |
| Fuses          | FU1     |       3.42 |
| Carrots        | FC      |       2.50 |
| TNT (1 stick)  | TNT1    |       2.50 |
+----------------+---------+------------+





3.ORDER BY和LIMIT的组合
  *SQL语句是由子句组合成的,有些子句是必须的,而有的是可选的。

  mysql> SELECT prod_price FROM products ORDER BY prod_price DESC LIMIT 1;

+------------+
| prod_price |
+------------+
|      55.00 |
+------------+




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值