Mysql必知必会Note-第五章 排序检索数据.md

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sha18751330807/article/details/83477223

排序数据

SQL检索出的数据默认按照底层中出现的顺序显示,一般是数据最初的添加顺序,但这种顺序会受到数据更新的影响。因此,很多情景下都需要我们明确排序的顺序,这里我们可以通过ORDER BY子句实现。ORDER BY可以根据一列或多列的值进行排序,实例如下:

// 指示对prod_name列以字母顺序排序
SELECT prod_name
FROM products
ORDER BY prod_name;

PS:通常我们选择通过非选择列进行排序
ORDER BY 支持多列排序,基本语法:ORDER BY column1, column2,按多列排序时,排序完全按规定的顺序进行,若column1列的值都是唯一的,就不再需要按column2排序。

指定排序方向

数据默认升序,可以通过指定DESC关键字实现降序顺序,实例如下:

// 按价格以降序排序产品(最贵的排在最前面)
SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price DESC;

注意:

  1. 根据多列进行排序时,因为DESC和ASC关键字只应到前置它的列,需要在每个列名前指定DESC或ASC(升序,默认)
  2. Mysql默认排序时不区分字母大小写,即A被视为和a相同

补充:
ORDER BY字句结合LIMIT关键字可以用来找列中的最值,如下:

// 将价格降序排列,并返回第一行,即最大值
SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;

但要注意的是字句以及关键字间的位置,这里要求ORDER BY子句在FROM字句后,LIMIT关键字在ORDER BY字句后。

猜你喜欢

转载自blog.csdn.net/sha18751330807/article/details/83477223