oracle比較一行的最大值或最小值

2021-09-07 14:56:15 字數 1257 閱讀 6409

1. coalesce 返回該表示式列表的第乙個非空value。

格式: coalesce(value1, value2, value3, ...)

含義: 返回value列表第乙個非空的值。

value列表必須是相同型別,也可以是乙個表的同一行、不同列的值進行比較。

example: select coalesce (1, null, 2 ) from dual ; -- 返回1

select coalesce ( null, 2, 1 ) from dual ; -- 返回2

select coalesce (t.empno, t.mgr ) from  scott.emp t ; -- 效果類似 nvl( t.empno, t.mgr )

2. greatest 返回值列表中最大值

格式: greatest(value1, value2, value3, ...)

含義: 返回value列表最大的值。

value列表必須是相同型別,也可以是乙個表的同一行、不同列的值進行比較。

當value值列表中有乙個為null,則返回null值。

example: select greatest (1, 3, 2 ) from dual ; -- 返回3

select greatest ( 'a', 'b', 'c' ) from dual ; -- 返回c

select greatest (null, 'b', 'c' ) from dual ; -- 返回null

select greatest (t.empno, t.mgr ) from  scott.emp t ; -- 返回empno和mgr 較大值

3. least 返回值列表中最小值

格式: least(value1, value2, value3, ...)

含義: 返回value列表最小的值。

value列表必須是相同型別,也可以是乙個表的同一行、不同列的值進行比較。

當value值列表中有乙個為null,則返回null值。

example: select least (1, 3, 2 ) from dual ; -- 返回1

select least ( 'a', 'b', 'c' ) from dual ; -- 返回a

select least (null, 'b', 'c' ) from dual ; -- 返回null

select least (t.empno, t.mgr ) from  scott.emp t ; -- 返回empno和mgr 較小值

比較一組數的最大值或最小值

public static void main string args int max num 0 認為陣列裡的是乙個數為最大值 int min num 0 認為陣列裡的是乙個數為最小值 for int i 0 i num.length i system.out.println 最大值 max sy...

oracle重複欄位取第一行值

select from select k.kind as kinds,d.x.sum,row number over partition by d.tknumber order by d.nowdate desc as row from 裡面就是個查詢,不管,主要是外面的 select t.s.te...

Hive查詢分組內的最大值行

工作中碰到這麼個問題 現在有 形式如下 日期名字 編碼20200910 a123 20200815 b111 20200625 a234 20200208 b333 with t1 as select row number over partition by name order by date d...