排序字句-----order by
排序操作排序方式:
升序:默认,asc
降序:desc
order by col_name,col_
排序算法:是先按照第一个列进行排序,如果第一个列进行排序,如果第一个列相等,则按照 第二个列进行排序
order by 3,4
order by可以接select字句中列的位置参数
在MySQL当中,Null被认为最小的
ORDER BY子句一般在SELECT语句的最后面
例1:查询罚款编号和引起罚款的球员编号,结果以球员编号做升序排序
SELECT paymentno, playerno
FROM penalties
ORDER BY playerno;
指定多个排序列
当第一个排序列的值重复时,按照第二个列的值来排序
例2: 对于每笔罚款,得到球员编号和罚款额,结果按照这两列来排序
SELECT playerno,amount
FROM penalties
ORDER BY playerno, amount;
例3: 得到所有球员的姓名、首字母和编号。结果以姓名的首字母升序排序
SELECT name, initials, playerno
FROM players
ORDER BY substr(name,1,1);
按照降序排序。必须指定DESC
使用列的位置编号排序
例5: 对于有罚款的球员,得到其编号和罚款总额。结果以罚款总额排序
SELECT playerno, sum(amount)
FROM penalties
GROUP BY playerno
ORDER BY 2; #2表示select子句中的第二个列
例6: 得到每笔罚款的球员编号和罚款额,结果以编号降序,罚款额升序排序
SELECT playerno, amount
FROM penalties
ORDER BY playerno DESC, amount ASC;