您的位置:首页 > 数据库 > MySQL

mysql---数据排序检索

2017-06-12 07:02 260 查看

1. 排序数据

关系数据库设计理论认为,如果没有明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。可以使用ORDER BY对输出进行排序。

SELECT prod_name
FROM products
ORDER BY prod_name;


使用非选择列排序 通常使用被选择的列进行排序,但也可以使用其他列作为排序依据,排序被选择的列

2. 按多个列排序

很多应用场景下需要按照多个排序依据进行排序,例如显示雇员清单,一般按照姓和名排序,即首先按照姓排序,如果多个雇员同姓就按照名排序。

实现多个列排序,只要指定列名,在列名之间使用逗号分开即可

SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price, prod_name;


对于上述的排序方法,仅仅在有多个相同的prod_price的值时,才会按照prod_name进行排序,如果没有相同的prod_price那么就只按照prod_price排序。

3. 指定排序方向

数据默认升序排序,也可以降序排序,使用DESC关键字

SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price DESC;


在此基础之上还可以使用多个列排序

SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price DESC, prod_name;


DESC关键字值应用到其前面的列名,因此prod_name仍然按照升序排序

如果想要多个列都降序排序,必须对每一个列都制定DESC关键字

与DESC相反的关键字是ASC,这个可以指定,但这个是默认的,指定不指定都是一样的。

3.1 最大最小值

最大值:

SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;


最小值

SELECT prod_price
FROM products
ORDER BY prod_price
LIMIT 1;


ORDER BY 必须在FROM之后,

LIMIT必须在ORDER之后
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: