05 mysql 排序

排序order by

可以使用任何字段来作为排序的条件,从而返回排序后的查询结果,也可以设定多个字段来排序

select  field1, field2,...fieldN table_name1, table_name2... order by field1 asc, field2 asc;

说明:

 1 默认情况下,它是按升序排列(asc可省略)。用 asc(升序) 或 desc(降序)关键字来设置查询结果是按升序或降序排列。 

 2 采用多个字段排序时,如果根据第一个字段排序后有的数据不能完全排序,会根据第二个字段排序,例如

select employeename,job,salary  from employee order by job desc,sal desc;先根据工作首字符降序排序,相同工作的根据工资降序

3 使用字段位置排序,如果知道要排序的字段属于第几列,可以用    字段所在列数这个数字   代替字段名称,列数从1开始,注意不建议这种写法,因为数字指代不明确,另外,使用数字代表字段排序时,必须要查询全部字段,否则不可用

示例:

-- 查询员工编号,工资 并根据工资升序的顺序显示
SELECT employeenumber ,salary FROM employee ORDER BY salary;

-- 查询员工中job为'MANAGER'的员工编号,工作,薪水 并根据薪水升序显示
SELECT employeenumber ,job,salary FROM employee WHERE job='MANAGER' ORDER BY salary ;

-- 查询员工中job为'MANAGER'的员工编号,工作,薪水 并根据薪水降序显示
SELECT  ,job,salary FROM employee WHERE job='MANAGER' ORDER BY salary DESC ;

-- 查询员工编号,工作,薪水,先根据工作名称降序排序,工作相同的员工,按升序排序 ,显示出来
SELECT employeenumber ,job,salary FROM employee ORDER BY job DESC,salary ASC ;

-- 查询员工表中所有信息,根据第6个字段升序显示,字段所在列数从1开始显示,必须要查询所有信息才能使用  数字代替字段名 排序
SELECT * FROM employee ORDER BY 6 DESC ;

参考:小猴子视频

猜你喜欢

转载自blog.csdn.net/sinat_41132860/article/details/84887817