在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 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!