关键字DISTINCT,去除重复列,指示数据库只返回不同的行,但是必须直接放在列名的前面
DISTINCT只作用于检索所有列,不仅仅是只作用域紧跟在其后的列,并且只能放于查询字段的前面,需要配合其他关键字使用。
关键字:ORDER BY子句,该关键字主要用于排序,可以同时针对单列排序,也可以针对多列排序;前段时间做派单系统时,遇到一个问题就是需要多条件排序问题,首先按照紧急程度排序,其次按照距离排序,如果在数据库都存在这两字字段的情况下,就可以直接在sql语句中进行排序,取出已经有顺序的结果。
用法:对单列进行排序,只需在子句后面加上列名即可-》SELECT * FROM orders ORDER BY orders.cust_id
对多列进行排序,只需要在子句后面加上多列即可,严格按照先后顺序进行排序,先排列第一列,第一列相同的情况下对第二行进行排序-》SELECT * FROM orderitem ORDER BY orderitem.prod_id,orderitem.order_item,orderitem.order_num
注意:在使用GROUP BY子句时,该子句必须放在SQL语句的最后,作为最后一条子句。
关键字:ORDER BY子句,除了可以按照列名进行排序之外,还可以按照位置即列的索引进行排序(从1开始),--》SELECT * FROM orderitem ORDER BY 3,2,1;
数据排序方向:默认是升序排序,如需要降序,需要使用DESC关键字,单列降序:SELECT * FROM orders ORDER BY orders.cust_id DESC;
多列排序时同样可以进行降序,但是DESC只作用与前面的列名,所以如需要每列都需要降序,则需要排序的每列后面加上DESC关键字;
--》SELECT * FROM orderitem ORDER BY orderitem.prod_id DESC,orderitem.order_item,orderitem.order_num DESC