OceanBase MIN

2021-06-28 18:04 更新

MIN 函數(shù)返回參數(shù)中指定列的最小值。

語法

MIN([ DISTINCT | UNIQUE | ALL ] expr) [ OVER (analytic_clause) ]

作為分析函數(shù)使用時(shí),您需要使用窗口函數(shù)的完整語法,它對一組行的集合進(jìn)行計(jì)算并返回多個(gè)值。作為聚合函數(shù)使用時(shí),該函數(shù)對一組行的集合進(jìn)行聚合計(jì)算,結(jié)果只能返回一個(gè)值,此時(shí)不需要加 OVER 關(guān)鍵字。

參數(shù)

參數(shù)

說明

DISTINCT

返回的行中去除重復(fù)行,且忽略值為 NULL 的行。

UNIQUE

返回的行中去除重復(fù)行,且忽略值為 NULL 的行。

ALL

返回所有值,包含重復(fù)行,且忽略值為 NULL 的行。

expr

可為數(shù)值、字符、日期型或其它類型的數(shù)據(jù)列或表達(dá)式。

OVER

使用 OVER 子句定義窗口進(jìn)行計(jì)算。

返回類型

返回與 expr 相同數(shù)據(jù)類型的值。

示例

分析函數(shù)示例

以下語句創(chuàng)建了表 employees,并向里面插入數(shù)據(jù):

CREATE TABLE employees (manager_id INT,last_name varchar(50),hiredate varchar(50),SALARY INT);
INSERT INTO employees VALUES(100, 'Raphaely', '2017-07-01', 1700);
INSERT INTO employees VALUES(100, 'De Haan', '2018-05-01',11000);      
INSERT INTO employees VALUES(100, 'Errazuriz', '2017-07-21', 1400);
INSERT INTO employees VALUES(100, 'Hartstein', '2019-05-01',14000);     
INSERT INTO employees VALUES(100, 'Raphaely', '2017-07-22', 1700);
INSERT INTO employees VALUES(100, 'Weiss',  '2019-07-11',13500);     
INSERT INTO employees VALUES(100, 'Russell', '2019-10-05', 13000);
INSERT INTO employees VALUES(100, 'Partners',  '2018-12-01',14000);     
INSERT INTO employees VALUES(200, 'Ross',  '2019-06-11',13500);     
INSERT INTO employees VALUES(200, 'Bell', '2019-05-25', 13000);
INSERT INTO employees VALUES(200, 'Part',  '2018-08-11',14000);

執(zhí)行以下語句查詢 SALARY 列的最小值:

SELECT manager_id, last_name, hiredate, salary, MIN(salary) OVER(PARTITION BY manager_id 
ORDER BY hiredate RANGE UNBOUNDED PRECEDING) AS p_cmin
FROM employees ORDER BY manager_id, last_name, hiredate, salary;
COMMIT;

查詢結(jié)果如下:

+------------+-----------+------------+--------+--------+
| MANAGER_ID | LAST_NAME | HIREDATE   | SALARY | P_CMIN |
+------------+-----------+------------+--------+--------+
|        100 | De Haan   | 2018-05-01 |  11000 |   1400 |
|        100 | Errazuriz | 2017-07-21 |   1400 |   1400 |
|        100 | Hartstein | 2019-05-01 |  14000 |   1400 |
|        100 | Partners  | 2018-12-01 |  14000 |   1400 |
|        100 | Raphaely  | 2017-07-01 |   1700 |   1700 |
|        100 | Raphaely  | 2017-07-22 |   1700 |   1400 |
|        100 | Russell   | 2019-10-05 |  13000 |   1400 |
|        100 | Weiss     | 2019-07-11 |  13500 |   1400 |
|        200 | Bell      | 2019-05-25 |  13000 |  13000 |
|        200 | Part      | 2018-08-11 |  14000 |  14000 |
|        200 | Ross      | 2019-06-11 |  13500 |  13000 |
+------------+-----------+------------+--------+--------+

聚合函數(shù)示例

執(zhí)行以下語句查詢 SALARY 列的最小值:

SELECT MIN(salary)  FROM employees ;

查詢結(jié)果如下:

+-------------+
| MIN(SALARY) |
+-------------+
|        1400 |
+-------------+
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號