MYSQL中ORDER BY使用
ORDER BY 使用
使用单个字段进行排序
-- 会根据sAge进行升序 SELECT * FROM students st ORDER BY st.sAge ASC; -- 会根据sAge进行升序(若不写则默认按照升序排序) SELECT * FROM students st ORDER BY st.sAge; -- 会根据sAge进行降序 SELECT * FROM students st ORDER BY st.sAge DESC;
使用多个字段进行排序
-- 会根据sAge升序,sGrade降序 SELECT * FROM students st ORDER BY st.sAge, st.sGrade DESC; -- 会根据sAge升序,sGrade降序 SELECT * FROM students st ORDER BY st.sAge ASC, st.sGrade DESC; -- 会根据sAge降序,sGrade降序 SELECT * FROM students st ORDER BY st.sAge DESC, st.sGrade DESC;
注意事项,多个字段的优先级,按照从左到右(写在前面的先进性排序,在进行后面的排序,若后面的排序结果影响了前面的排序结果,则舍弃后面的排序操作)
总结:
(1)在MySql中,使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。
(2)尤其非常特别重要:默认按升序(ASC)排列。
(3)order by 后可加2个(或多个)字段,字段之间用英文逗号隔开。
(4)若A用升序,B用降序,SQL该这样写:order by A ASC, B DESC; 默认同理,也可以这样写:order by A, B DESC;
(5)若A、B都用降序,必须用两个DESC,order by A DESC, B DESC;
(6)多个字段时,优先级按先后顺序而定,写在前面的优先。
(7)若多个字段进行排序,后面字段的排序结果影响了前面字段的排序结果,则后面字段的排序操作会舍弃;