PostgreSQL的MAX函数是用来找出一个记录集当中的最大值记录。
为了理解MAX函数考虑表COMPANY 有如下记录:
testdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
现在,假设根据上表想要获取SALARY的最大值,那么只需使用以下命令:
testdb=# SELECT MAX(salary) FROM COMPANY;
以上PostgreSQL的表会产生以下结果:
max ------- 85000 (1 row)
可以找到最大值为每个名称如下使用GROUP BY子句的所有记录:
testdb=# SELECT id, name, MAX(salary) FROM COMPANY GROUP BY id, name;
以上PostgreSQL的表会产生以下结果:
id | name | max ----+-------+------- 4 | Mark | 65000 7 | James | 10000 6 | Kim | 45000 3 | Teddy | 20000 2 | Allen | 15000 5 | David | 85000 1 | Paul | 20000
可以使用MIN与MAX函数,同样找出最小值。试试下面的例子:
testdb=# SELECT MIN(salary), MAX(salary) max FROM company;
以上PostgreSQL的表会产生以下结果:
min | max -------+------- 10000 | 85000 (1 row)