- 對比Excel,輕松學習SQL數據分析
- 張俊紅
- 786字
- 2020-07-23 16:42:02
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
運行上面的代碼,具體運行結果如下表所示。

如果我們要對多個列進行統一的升序排列,則可以直接將多個列名用逗號分隔開,省略排序方式。
- Vue.js前端開發技術
- IBM Cognos 8 Report Studio Cookbook
- Creo 4.0中文版從入門到精通
- 中文版CorelDRAW 2022基礎教程
- BPEL Cookbook: Best Practices for SOA/based integration and composite applications development
- 24小時全速學會Photoshop 2021
- 原片蛻變:Photoshop CC商業修圖必修課
- CINEMA 4D新手快速進階實例教學
- 中文版Maya 2016基礎培訓教程
- 剪映:零基礎輕松掌握手機剪輯短視頻
- SQL Server 2005數據挖掘與商業智能完全解決方案
- 剪映:短、中、長視頻剪輯全攻略(手機版+電腦版)
- OpenSceneGraph 3.0: Beginner's Guide
- Photoshop CC中文版案例培訓教程
- GraphPad Prism學術圖表(全彩)