oracle max()函數和min()函數

來源:互聯網
上載者:User

標籤:http   使用   資料   ar   問題   代碼   時間   sql   

當需要瞭解一列中的最大值時,可以使用MAX()函數;同樣,當需要瞭解一列中的最小值時,可以使用MIN()函數。文法如下。

SELECT          MAX (column_name) / MIN (column_name)

FROM            table_name

說明:列column_name中的資料可以是數值、字串或是日期時間資料類型。MAX()/MIN()函數將返回與被傳遞的列同一資料類型的單一值。

執行個體7 MAX()函數的使用

查詢TEACHER表中教師的最大年齡。執行個體代碼:

SELECT MAX (AGE) AS MAXAGE

FROM     TEACHER

運行結果1示。

圖1TEACHER表中教師的最大年齡

然而,在實際應用中得到這個結果並不是特別有用,因為經常想要獲得的資訊是具有最大年齡的教師的教工號、姓名、性別等資訊。

然而SQL不支援如下的SELECT語句。

SELECT TNAME, DNAME, TSEX, MAX (AGE)

FROM     TEACHER

因為彙總函式處理的是資料群組,在本例中,MAX函數將整個TEACHER表看成一組,而TNAME、DNAME和TSEX的資料都沒有進行任何分組,因此SELECT語句沒有邏輯意義。同樣的道理,下面的代碼也是無效的。

SELECT TNAME, DNAME, TSEX,SAL ,AGE

FROM     TEACHER

WHERE   AGE=MAX (AGE)

解決這個問題的方法,就是在WHERE子句中使用子查詢來返回最大值,然後再基於這個返回的最大值,查詢相關資訊。

執行個體8 在WHERE子句中使用子查詢返回最大值

查詢TEACHER表中年紀最大的教師的教工號、姓名、性別等資訊。

執行個體代碼:

SELECT TNAME, DNAME, TSEX, SAL, AGE

FROM     TEACHER

WHERE   AGE=(SELECT MAX (AGE) FROM    TEACHER)

運行結果2示。

圖2在WHERE子句中使用子查詢返回最大值

MAX()和MIN()函數不僅可以作用於數值型資料,也可以作用於字串或是日期時間資料類型的資料。

執行個體MAX()函數用於字元型資料

如下面代碼:

SELECT MAX (TNAME) AS MAXNAME

FROM     TEACHER

運行結果3示。

圖3在字串資料型別中使用MAX的結果

可見,對於字串也可以求其最大值。

說明
 對字元型資料的最大值,是按照首字母由A~Z的順序排列,越往後,其值越大。當然,對於漢字則是按照其全拼拼音排列的,若首字元相同,則比較下一個字元,以此類推。

當然,對與日期時間類型的資料也可以求其最大/最小值,其大小排列就是日期時間的早晚,越早認為其值越小,如下面的執行個體。

執行個體 MAX()、MIN()函數用於時間型資料

從COURSE表中查詢最早和最晚考試課程的考試時間。其中COURSE表的結構和資料可參見本書6.1節的表6-1。執行個體代碼:

SELECT MIN (CTEST) AS EARLY_DATE,

MAX (CTEST) AS LATE_DATE

FROM     COURSE

運行結果4示。

圖4COURSE表中最早和最晚考試課程的考試時間

可見,返回結果的資料類型與該列定義的資料類型相同。

注意
 確定列中的最大值(最小值)時,MAX( )(MIN( ))函數忽略NULL值。但是,如果在該列中,所有行的值都是NULL,則MAX( )/MIN( )函數將返回NULL值。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.