• 排序(order by)


    MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm=1001.2014.3001.5502

    语法格式:

    1. select */列名 from 表名
    2. order by 列名1 asc/desc, 列名2 asc/desc;

    说明:

    排序的目的:改变查询结果的返回顺序!

    order by 就是排序关键字,表示按照什么规则排序

    asc 表示升序,默认可以不写 desc 表示降序,若需要,不能省略

    多列排序规则:先按照列名1进行排序(第1梯队),如果列名1的值相同,再按照列名2排序(第2梯队)!

    案例:查询emp表中,员工编号(empno)、姓名(ename)、职位(job)、工资(sal)、入职时间(hiredate),根据工资(sal)降序排序。  

    1. mysql> select empno, ename, job, sal, hiredate
    2. -> from emp
    3. -> order by sal desc;
    4. +-------+--------+-----------+---------+------------+
    5. | empno | ename | job | sal | hiredate |
    6. +-------+--------+-----------+---------+------------+
    7. | 7839 | king | president | 5000.00 | 1983-05-20 |
    8. | 7782 | clark | manager | 4450.00 | 1981-09-06 |
    9. | 7950 | conter | manager | 3500.00 | 1983-02-01 |
    10. | 7566 | jones | manager | 3500.00 | 1980-04-02 |
    11. | 7902 | ford | analyst | 3000.00 | 1981-12-03 |
    12. | 7698 | blake | manager | 2850.00 | 1983-05-01 |
    13. | 7499 | allen | salesman | 1600.00 | 1981-02-20 |
    14. | 7844 | turner | salesman | 1500.00 | 1981-06-10 |
    15. | 7945 | mitter | clerk | 1500.00 | 1983-06-23 |
    16. | 7934 | miller | clerk | 1300.00 | 1982-11-23 |
    17. | 7521 | ward | salesman | 1250.00 | 1982-02-22 |
    18. | 7654 | martin | salesman | 1250.00 | 1981-09-28 |
    19. | 7900 | james | clerk | 950.00 | 1981-12-03 |
    20. | 7369 | smith | clerk | 800.00 | 1980-12-17 |
    21. | 7210 | tianni | clerk | 500.00 | 1980-04-20 |
    22. +-------+--------+-----------+---------+------------+
    23. 15 rows in set (0.03 sec)

     

    练习:查询emp表中,员工编号(empno)、姓名(ename)、职位(job)、工资(sal)、入职时间(hiredate),根据姓名(ename)升序排序。  

    1. select empno, ename, job, sal, hiredate
    2. from emp
    3. order by ename asc;
    4. # asc可以省略
    5. select empno, ename, job, sal, hiredate
    6. from emp
    7. order by ename;

     

    练习:查询student表中,学员姓名(sname)、分数(score)、班级(sclass),根据分数从大到小排序。

    分析:从大到小,就是降序 desc

    1. mysql> select sname, score, sclass
    2. -> from student
    3. -> order by score desc;
    4. +------------+-------+--------+
    5. | sname | score | sclass |
    6. +------------+-------+--------+
    7. | rose | 100.0 | 21|
    8. | lucy | 99.0 | 21|
    9. | 猪八里 | 90.5 | 22|
    10. | toms | 90.0 | 11|
    11. | 孙多多 | 90.0 | 23|
    12. | 我吃西红柿 | 88.5 | 12|
    13. | 烽火戏诸侯 | 82.5 | 11|
    14. | 孙权 | 80.0 | 13|
    15. | jack | 78.0 | 21|
    16. | 天蚕土豆丝 | 77.0 | 12|
    17. | jack | 75.0 | 13|
    18. | 沙僧 | 70.5 | 13|
    19. | james | 67.0 | 22|
    20. | 孙悟空 | 65.0 | 22|
    21. | 唐家三少 | 65.0 | 11|
    22. +------------+-------+--------+
    23. 15 rows in set (0.00 sec)

     案例:查询student表中,学员姓名(sname)、分数(score)、班级(sclass),先根据班级(sclass)升序排序,再根据分数(score)降序排序。

    1. mysql> select sname, score, sclass
    2. -> from student
    3. -> order by sclass asc, score desc;
    4. +------------+-------+--------+
    5. | sname | score | sclass |
    6. +------------+-------+--------+
    7. | toms | 90.0 | 11|
    8. | 烽火戏诸侯 | 82.5 | 11|
    9. | 唐家三少 | 65.0 | 11|
    10. | 我吃西红柿 | 88.5 | 12|
    11. | 天蚕土豆丝 | 77.0 | 12|
    12. | 孙权 | 80.0 | 13|
    13. | jack | 75.0 | 13|
    14. | 沙僧 | 70.5 | 13|
    15. | rose | 100.0 | 21|
    16. | lucy | 99.0 | 21|
    17. | jack | 78.0 | 21|
    18. | 猪八里 | 90.5 | 22|
    19. | james | 67.0 | 22|
    20. | 孙悟空 | 65.0 | 22|
    21. | 孙多多 | 90.0 | 23|
    22. +------------+-------+--------+
    23. 15 rows in set (0.00 sec)

     练习:查询emp表中,员工姓名、职位、工资、部门编号,先根据部门编号降序排序,再根据工资升序排序。

    1. mysql> select ename, job, sal, deptno
    2. -> from emp
    3. -> order by deptno desc, sal asc;
    4. +--------+-----------+---------+--------+
    5. | ename | job | sal | deptno |
    6. +--------+-----------+---------+--------+
    7. | conter | manager | 3500.00 | 90 |
    8. | tianni | clerk | 500.00 | 60 |
    9. | mitter | clerk | 1500.00 | 40 |
    10. | james | clerk | 950.00 | 30 |
    11. | ward | salesman | 1250.00 | 30 |
    12. | martin | salesman | 1250.00 | 30 |
    13. | turner | salesman | 1500.00 | 30 |
    14. | allen | salesman | 1600.00 | 30 |
    15. | blake | manager | 2850.00 | 30 |
    16. | smith | clerk | 800.00 | 20 |
    17. | ford | analyst | 3000.00 | 20 |
    18. | jones | manager | 3500.00 | 20 |
    19. | miller | clerk | 1300.00 | 10 |
    20. | clark | manager | 4450.00 | 10 |
    21. | king | president | 5000.00 | 10 |
    22. +--------+-----------+---------+--------+
    23. 15 rows in set (0.00 sec)

     排序的目的:改变查询结果的返回顺序!

     

  • 相关阅读:
    家居建材企业竞争白热化,如何通过供应商协同系统转型升级,提高核心竞争力
    leetcode146.LRU缓存,从算法题引入,全面学习LRU和链表哈希表知识
    eureka的docker镜像部署
    Spring Cloud Function Spel表达式注入
    济南建筑模板生产厂家有哪些?
    [Linux] Network: IPv6 link-local 地址是否可用不自动生成
    玄机科技闪耀中国国际动漫节,携手百度共绘 AI 国漫新篇章
    智慧港口解决方案-最新全套文件
    001flutter基础学习
    python 之爬虫基础(2)
  • 原文地址:https://blog.csdn.net/weixin_67859959/article/details/133690482