- 相關(guān)推薦
sql max函數(shù)的使用方法
在SQL數(shù)據(jù)庫(kù)中,最大/最小值函數(shù)—MAX/MIN是經(jīng)常要用到的。下面小編給大家?guī)?lái)sql max函數(shù)的使用方法,歡迎大家閱讀。
sql max函數(shù)的使用方法
當(dāng)需要了解一列中的最大值時(shí),可以使用MAX()函數(shù);同樣,當(dāng)需要了解一列中的最小值時(shí),可以使用MIN()函數(shù)。語(yǔ)法如下。
SELECT MAX (column_name) / MIN (column_name)
FROM table_name
說(shuō)明:列column_name中的數(shù)據(jù)可以是數(shù)值、字符串或是日期時(shí)間數(shù)據(jù)類型。MAX()/MIN()函數(shù)將返回與被傳遞的列同一數(shù)據(jù)類型的單一值。
實(shí)例7 MAX()函數(shù)的使用
查詢TEACHER表中教師的最大年齡。實(shí)例代碼:
SELECT MAX (AGE) AS MAXAGE
FROM TEACHER
運(yùn)行結(jié)果如圖1示。
圖1TEACHER表中教師的最大年齡
然而,在實(shí)際應(yīng)用中得到這個(gè)結(jié)果并不是特別有用,因?yàn)榻?jīng)常想要獲得的信息是具有最大年齡的教師的教工號(hào)、姓名、性別等信息。
然而SQL不支持如下的SELECT語(yǔ)句。
SELECT TNAME, DNAME, TSEX, MAX (AGE)
FROM TEACHER
因?yàn)榫酆虾瘮?shù)處理的是數(shù)據(jù)組,在本例中,MAX函數(shù)將整個(gè)TEACHER表看成一組,而TNAME、DNAME和TSEX的數(shù)據(jù)都沒(méi)有進(jìn)行任何分組,因此SELECT語(yǔ)句沒(méi)有邏輯意義。同樣的道理,下面的代碼也是無(wú)效的。
SELECT TNAME, DNAME, TSEX,SAL ,AGE
FROM TEACHER
WHERE AGE=MAX (AGE)
解決這個(gè)問(wèn)題的方法,就是在WHERE子句中使用子查詢來(lái)返回最大值,然后再基于這個(gè)返回的最大值,查詢相關(guān)信息。
實(shí)例8 在WHERE子句中使用子查詢返回最大值
查詢TEACHER表中年紀(jì)最大的教師的教工號(hào)、姓名、性別等信息。
實(shí)例代碼:
SELECT TNAME, DNAME, TSEX, SAL, AGE
FROM TEACHER
WHERE AGE=(SELECT MAX (AGE) FROM TEACHER)
運(yùn)行結(jié)果如圖2示。
圖2在WHERE子句中使用子查詢返回最大值
MAX()和MIN()函數(shù)不僅可以作用于數(shù)值型數(shù)據(jù),也可以作用于字符串或是日期時(shí)間數(shù)據(jù)類型的數(shù)據(jù)。
實(shí)例MAX()函數(shù)用于字符型數(shù)據(jù)
如下面代碼:
SELECT MAX (TNAME) AS MAXNAME
FROM TEACHER
運(yùn)行結(jié)果如圖3示。
圖3在字符串?dāng)?shù)據(jù)類型中使用MAX的結(jié)果
可見(jiàn),對(duì)于字符串也可以求其最大值。
說(shuō)明
對(duì)字符型數(shù)據(jù)的最大值,是按照首字母由A~Z的順序排列,越往后,其值越大。當(dāng)然,對(duì)于漢字則是按照其全拼拼音排列的,若首字符相同,則比較下一個(gè)字符,以此類推。
當(dāng)然,對(duì)與日期時(shí)間類型的數(shù)據(jù)也可以求其最大/最小值,其大小排列就是日期時(shí)間的早晚,越早認(rèn)為其值越小,如下面的實(shí)例。
實(shí)例 MAX()、MIN()函數(shù)用于時(shí)間型數(shù)據(jù)
從COURSE表中查詢最早和最晚考試課程的考試時(shí)間。其中COURSE表的結(jié)構(gòu)和數(shù)據(jù)可參見(jiàn)本書6.1節(jié)的表6-1。實(shí)例代碼:
SELECT MIN (CTEST) AS EARLY_DATE,
MAX (CTEST) AS LATE_DATE
FROM COURSE
運(yùn)行結(jié)果如圖4示。
圖4COURSE表中最早和最晚考試課程的考試時(shí)間
可見(jiàn),返回結(jié)果的數(shù)據(jù)類型與該列定義的數(shù)據(jù)類型相同。
注意
確定列中的最大值(最小值)時(shí),MAX( )(MIN( ))函數(shù)忽略NULL值。但是,如果在該列中,所有行的值都是NULL,則MAX( )/MIN( )函數(shù)將返回NULL值。
【sql max函數(shù)的使用方法】相關(guān)文章:
Excel中COUNTIF函數(shù)的使用方法01-23
sql語(yǔ)法大全03-23
Sql認(rèn)證考試內(nèi)容06-08
excel函數(shù)07-30
早教機(jī)使用方法10-24
MySQL導(dǎo)出導(dǎo)入SQL文件命令方法06-29
EXCEL函數(shù)公式大全08-01
Excel函數(shù)公式大全07-27