SQL SERVER 系列(7)數據表排序和聚集函數

SQL SERVER 系列(6)數據表排序和聚集函數

數據表排序:

當我們在對數據庫操作的時候,我們經常會遇到對年齡,對考試成績進行排序的問題,排序可以使我們對所要顯示的數據一目瞭然,因此排序就成爲了重要的一項功能。下面我們對其進行詳細的說明。

排序共有兩種:ASE(升序),DESC(降序)。系統默認是asc

排序的作用是對滿足條件的記錄按照字段名1進行排列,如果字段名1的值相同。則按照字段名2排列。

排序的語法

Select 字段名 列表 from 表名 [where] order by 字段名1 asc|desc [,字段名2 asc|desc] ……

下面來看幾個實例:

實例:把yuangong表中的yuangong按照年齡升序

select * from yuangong order by 年齡 asc

實例:在yuangong表中按照部門升序,同一部門中按照年齡降序

select * from yuangong order by 部門 asc,年齡 desc

實例:在yuangong表中對男同志工資進行降序排列

select * from yaungong where 性別='' order by 工資 desc

關於排序用法很簡單也很容易理解。接下來我們看看聚集函數。

聚集函數:

關於聚集函數就是對數據表中一些數據的總和、平均值、最大值、最小值及彙總的操作。

常用的聚集函數有下面幾種:

sum() 求和

avg() 求平均值

max()求最大值

min()求最小值

count()彙總

接下來用實例來加深對它的理解。

實例:求yuangong表中所有員工年齡的總和

select sum(年齡) from yuangong

實例:求yuangong表中女同志的平均年齡

select avg(年齡) from yuangong

實例:求yuangong表中員工的總人數

select count(*) from yuangong

(注意count()括號中寫爲null的不計)

實例:求yuangong表中工資最少的員工信息

select * from yuangong where 工資=(select min (工資) from yuangong)

實例:求每個部門的平均工資

這個實例必須要用到一個分組命令group by

select 部門,avg(工資) from yuangong group by 部門

注意:當我們用group by這個命令時對其結果進行過濾時不能用where只能用having

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章