多语言展示
当前在线:1489今日阅读:27今日分享:41

数据库中函数max如何使用?如何获取最大值?

在SQL统计和计算过程中,经常需要筛选出一些值中的最大值,这个时候该如何实现呢?其实,SQL数据库中已经内置了聚合函数max可以直接给我们使用
方法/步骤
1

创建一个临时表,用于演示sqlserver语法中的聚合函数:最大值MAX的使用IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1; CREATE TABLE #tmp1(    Col1 varchar(50),            Col2 int,    Col3 varchar(50)    );

2

往临时表中插入几行测试数据,其中包括插入Null值,看看Null在最大值中是如何表现的insert into #tmp1(Col1, Col2, Col3) values('Code1', 1, 'a');insert into #tmp1(Col1, Col2, Col3) values('Code2', 2, 'b');insert into #tmp1(Col1, Col2, Col3) values('Code3', null, 'c');insert into #tmp1(Col1, Col2, Col3) values('Code4', 4, null);insert into #tmp1(Col1, Col2, Col3) values('Code5', 5, 'e');

3

查询临时表中的测试数据select * from #tmp1;

4

使用max直接获取整型栏位Col2的最大值,从运行结果可以看出,null直接被max忽略了select MAX(Col2) from #tmp1;

5

使用max直接获取整型栏位Col2的前三行记录中的最大值,运行结果1、2、null使用max获取的最大值是2select MAX(Col2) from #tmp1 where Col1 in ('Code1', 'Code2', 'Code3');

6

使用max直接获取字符串类型栏位Col3的最大值,从运行结果可以看出,字符串是按照字母顺序比较大小的,且也忽略了null值select MAX(Col3) from #tmp1;

7

使用max直接获取字符串类型栏位Col3的前四行记录中最大值,运行结果a、b、c、null使用max获取的最大值是cselect MAX(Col3) from #tmp1 where Col1 in ('Code1', 'Code2', 'Code3', 'Code4');

推荐信息