访问电商记网站(dianshangji.com)安装浏览器插件v9.1.4以上版本可使用本功能。
点击文章底部 [ 阅读原文 ]链接可查看网站学院的《商务数据SQL分析》的课程内容。
《商务数据SQL分析》
第3部分 排序检索数据
3.2 排序子句
按多个列排序
经常需要按不止一个列进行数据排序。例如,如果要显示雇员名单,可
能希望按姓和名排序(首先按姓排序,然后在每个姓中再按名排序)。如
果多个雇员有相同的姓,这样做很有用。
要按多个列排序,简单指定列名,列名之间用逗号分开即可(就像选择 多个列时那样)。下面的代码检索 3 个列,并按其中两个列对结果进行排序——首先按店铺名称,然后按价格排序。

多列排序顺序
重要的是理解在按多个列排序时,排序的顺序完全按规定进行。换句话说,对于上述例子中的输出,仅在多个行具有相同的店铺名称(shopname)值时,才对产品按价格(price)进行排序。如果店铺名称这一列中所有的值都是唯一的,则不会按价格排序。
指定排序方向
数据排序不限于升序排序(从A到Z),这只是默认的排序顺序。还可以使用ORDER BY子句进行降序排序(从Z到A)。为了进行降序排序,必须指定DESC关键字。
下面的例子以价格降序来排序产品,即最贵的产品排在最前面。

多列排序
如果打算用多个列排序,该怎么办?下面的例子以销量降序排序产品(卖最多的产品排在最前面),再加上价格升序(价格低的产品排在前面)。

DESC作用范围
DESC关键字只应用到直接位于其前面的列名。在上例中,只对销量(sold)列指定DESC关键字,对价格(price)列不指定。因此,销量(sold)列以降序排序,而价格(price)列(在每个销量值内)仍然按照标准的升序排序。
注意:在多个列上降序排序
如果想在多个列上进行降序排序,必须对每一个列指定DESC关键字。

请注意,DESC是DESCENDING的缩写,这两个关键字都可以使用。与DESC相对的是ASC(或ASCENDING),在升序排序时可以指定它。但实际上ASC没有多大用处,因为升序是默认的(如果既不指定ASC也不指定DESC,则假定为ASC)。




