mysql排序查询

mysql排序查询

一 查询格式

SELECT 查询列表

FROM 表名

[WHERE 查询条件]

ORDER BY 排序列表 ASC/DESC

二 例句

1. select * from employees where department_id>=90 order by hiredate; (按单个字段排序)

2. select *,salary*12*(1+IFNULL(commission_pct,0)) as '年薪' from employees order by salary*12*(1+IFNULL(commission_pct,0)); (按表达式排序)

3. select *,salary*12*(1+IFNULL(commission_pct,0)) as 年薪 from employees order by 年薪;(按别名排序,此处年薪不可带引号,否则排序结果不对)

4. select * ,LENGTH(last_name) as lengthofname from employees order by lengthofname DESC;(按别名排序)

5. select * from employees order by salary ASC,employee_id DESC;(按多个字段排序)

6. select * from employees where email like '%e%' order by LENGTH(email) desc,department_id asc; (按函数排序)

三 总结

1. ASC是升序,DESC是降序,默认是升序

2. ORDE BY子句可以支持单个字段,多个字段(有先后顺序),表达式,函数,别名的排序

3. ORDER BY子句一般放到查询语句的最后面,除了LIMIT子句外