mysql---数据排序检索

来源:互联网 发布:c语言遗传算法原理 编辑:程序博客网 时间:2024/05/16 23:01

1. 排序数据

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

SELECT prod_nameFROM productsORDER BY prod_name;

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

2. 按多个列排序

很多应用场景下需要按照多个排序依据进行排序,例如显示雇员清单,一般按照姓和名排序,即首先按照姓排序,如果多个雇员同姓就按照名排序。
实现多个列排序,只要指定列名,在列名之间使用逗号分开即可

SELECT prod_id, prod_price, prod_nameFROM productsORDER BY prod_price, prod_name;

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

3. 指定排序方向

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

SELECT prod_id, prod_price, prod_nameFROM productsORDER BY prod_price DESC;

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

SELECT prod_id, prod_price, prod_nameFROM productsORDER BY prod_price DESC, prod_name;

DESC关键字值应用到其前面的列名,因此prod_name仍然按照升序排序
如果想要多个列都降序排序,必须对每一个列都制定DESC关键字
与DESC相反的关键字是ASC,这个可以指定,但这个是默认的,指定不指定都是一样的。

3.1 最大最小值

最大值:

SELECT prod_priceFROM productsORDER BY prod_price DESCLIMIT 1;

最小值

SELECT prod_priceFROM productsORDER BY prod_priceLIMIT 1;

ORDER BY 必须在FROM之后,
LIMIT必须在ORDER之后

原创粉丝点击