官术网_书友最值得收藏!

5.6 對結果進行排序

對結果進行排序也是我們經常會執行的操作,我們來看一下在Excel中和在SQL中分別是怎么實現的。

1. Excel實現

在Excel中,我們要想將結果按照某一列進行排序,實現方法與數據篩選類似,先給所有的表頭加上篩選,然后單擊下拉箭頭就會彈出“升序”“降序”“按顏色排序”三種排序方式。

上述方法只是對一列進行排序,有時候,我們還會有同時按照多列進行排序的需求,這個時候就要用到“自定義排序”的方式了。

“自定義排序”在“排序和篩選”下拉列表中,通過自定義排序可以按照多行或多列進行排序。比如,我們要同時按照class列和age列進行排序,且先按照class列進行排序,如果class列相同,則再按照age列進行排序,這個時候class列就是主要關鍵字,age列就是次要關鍵字,用戶可以分別指明不同列是按照升序排列還是按照降序排列。如果用戶還需要按照其他列進行排序,只需要單擊左上角的“添加條件”按鈕即可。

2. SQL實現

在SQL中,我們要想將結果列按照某列進行排序,需要借助order by來實現,比如,我們要將chapter5表按照age列進行升序排列,具體實現代碼如下:

select
   *
from
   demo.chapter5
order by age

運行上面的代碼,具體運行結果如下表所示。

我們可以看到上面代碼運行的結果是按照age列進行升序排列的,這是order by默認的排序方式,如果我們想按照age列進行降序排列,則可以在age后面加一個desc,表明降序排列,具體實現代碼如下:

select
   *
from
   demo.chapter5
order by age desc

運行上面的代碼,具體運行結果如下表所示。

與desc相對應的是asc,表示升序排列,order by默認的是升序排列,所以當我們對數據進行升序排列時,一般省略不寫。

如果我們在SQL中也想按照多列進行排序,那么只需要在order by后面指明要排序的多個列以及每個列對應的排序方式即可,比如,我們要對chapter5表中的class列進行升序排列,對age列進行降序排列,具體實現代碼如下:

select
   *
from
   demo.chapter5
order by class asc
       ,age desc

運行上面的代碼,具體運行結果如下表所示。

如果我們要對多個列進行統一的升序排列,則可以直接將多個列名用逗號分隔開,省略排序方式。

主站蜘蛛池模板: 景洪市| 泸水县| 永善县| 和田县| 道真| 两当县| 永平县| 璧山县| 九台市| 焉耆| 建瓯市| 徐州市| 永昌县| 黄石市| 容城县| 宜城市| 长白| 伊川县| 新建县| 云南省| 宁武县| 奉节县| 永登县| 葫芦岛市| 烟台市| 松潘县| 太原市| 孙吴县| 徐州市| 榆树市| 金秀| 丹凤县| 陕西省| 阜康市| 独山县| 松滋市| 扎鲁特旗| 高邑县| 门源| 阳高县| 金秀|