在SQL统计和计较过程中,经常需要筛选出一些值中的最大值,这个时辰该若何实现呢?其实,SQL数据库中已经内置了聚合函数max可以直接给我们利用
建立一个姑且表,用于演示sqlserver语法中的聚合函数:最大值MAX的利用
IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1;
CREATE TABLE #tmp1(
Col1 varchar(50),
Col2 int,
Col3 varchar(50)
);
往姑且表中插入几行测试数据,此中包罗插入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');
查询姑且表中的测试数据
select * from #tmp1;
利用max直接获取整型栏位Col2的最大值,从运行成果可以看出,null直接被max忽略了
select MAX(Col2) from #tmp1;
利用max直接获取整型栏位Col2的前三行记实中的最大值,运行成果1、2、null利用max获取的最大值是2
select MAX(Col2) from #tmp1 where Col1 in ('Code1', 'Code2', 'Code3');
利用max直接获取字符串类型栏位Col3的最大值,从运行成果可以看出,字符串是按照字母挨次比力巨细的,且也忽略了null值
select MAX(Col3) from #tmp1;
利用max直接获取字符串类型栏位Col3的前四行记实中最大值,运行成果a、b、c、null利用max获取的最大值是c
select MAX(Col3) from #tmp1 where Col1 in ('Code1', 'Code2', 'Code3', 'Code4');
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!