SQL學(xué)習(xí)筆記四 聚合函數(shù)、排序方法
更新時(shí)間:2011年08月28日 22:27:33 作者:
SQL學(xué)習(xí)筆記四 聚合函數(shù)、排序方法,在數(shù)據(jù)調(diào)用中非常實(shí)用。
聚合函數(shù) count,max,min,avg,sum...
select count (*) from T_Employee
select Max(FSalary) from T_Employee
排序 ASC升序 DESC降序
select * from T_Employee order by Fage
先按年齡降序排列。如果年齡相同,則按薪水升序排列
select * from T_Employee order by FAge DESC,FSalary ASC
order by 要放在 where 子句之后
通配符過濾
通配符過濾用like
單字符通配符‘_'
多字符通配符‘%'
select * from T_Employee where FName like '_erry'
NULL 是不知道的意思,而不是沒有
用SQL語句查詢NULL的數(shù)據(jù)不能用=或<> 而用is NULL或者is not NULL
select * from T_Employee where FName is NULL
in(23,25)同時(shí)匹配兩個值。相當(dāng)于 23 or 25
between 20 and 30 匹配介于20到30之間的數(shù)
group by分組
select FAge, count(*) from T_Employee
Group by Fage
先把相同的Fage分一組,再統(tǒng)計(jì)每一組的個數(shù)
group by子句要放在where子句之后。如果想取某個年齡段人數(shù)大于1的,不能用where count(*) > 1 ,因?yàn)榫酆虾瘮?shù)不能放在where子句之后。要用having子句
Having是對分組后的列進(jìn)行過濾,能用的列和select中的一樣。如下例中則不能用having Fsalary>2000 只能用where Fsalary>2000
select FAge, count(*) from T_Employee
Group by FAge
having count(*) > 1;
限制結(jié)果集的范圍
select Top 3 * from T_Employee
order by FSalary DESC
從第六名開始選3個.2005后可以用Row_Number函數(shù)
select Top 3 * from T_Employee
where FNumber not in(select TOP 5 FNumber from T_Employee order by FSalary DESC)
order by FSalary DESC
select count (*) from T_Employee
select Max(FSalary) from T_Employee
排序 ASC升序 DESC降序
select * from T_Employee order by Fage
先按年齡降序排列。如果年齡相同,則按薪水升序排列
select * from T_Employee order by FAge DESC,FSalary ASC
order by 要放在 where 子句之后
通配符過濾
通配符過濾用like
單字符通配符‘_'
多字符通配符‘%'
select * from T_Employee where FName like '_erry'
NULL 是不知道的意思,而不是沒有
用SQL語句查詢NULL的數(shù)據(jù)不能用=或<> 而用is NULL或者is not NULL
select * from T_Employee where FName is NULL
in(23,25)同時(shí)匹配兩個值。相當(dāng)于 23 or 25
between 20 and 30 匹配介于20到30之間的數(shù)
group by分組
select FAge, count(*) from T_Employee
Group by Fage
先把相同的Fage分一組,再統(tǒng)計(jì)每一組的個數(shù)
group by子句要放在where子句之后。如果想取某個年齡段人數(shù)大于1的,不能用where count(*) > 1 ,因?yàn)榫酆虾瘮?shù)不能放在where子句之后。要用having子句
Having是對分組后的列進(jìn)行過濾,能用的列和select中的一樣。如下例中則不能用having Fsalary>2000 只能用where Fsalary>2000
select FAge, count(*) from T_Employee
Group by FAge
having count(*) > 1;
限制結(jié)果集的范圍
select Top 3 * from T_Employee
order by FSalary DESC
從第六名開始選3個.2005后可以用Row_Number函數(shù)
select Top 3 * from T_Employee
where FNumber not in(select TOP 5 FNumber from T_Employee order by FSalary DESC)
order by FSalary DESC
相關(guān)文章
sql server如何利用開窗函數(shù)over()進(jìn)行分組統(tǒng)計(jì)
這篇文章主要介紹了sql server利用開窗函數(shù)over()進(jìn)行分組統(tǒng)計(jì)的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03SQL查詢連續(xù)登陸7天以上的用戶的方法實(shí)現(xiàn)
本文主要介紹了SQL查詢連續(xù)登陸7天以上的用戶的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12使用SQL語句實(shí)現(xiàn)查詢排序,順序和倒序
這篇文章主要介紹了使用SQL語句實(shí)現(xiàn)查詢排序、順序和倒序,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Sql?Server?"用戶登錄失敗,錯誤編18456"的解決過程
在我們使用數(shù)據(jù)庫的時(shí)候,偶爾會遇到一些登錄上的錯誤提示,下面這篇文章主要給大家介紹了關(guān)于Sql?Server?"用戶登錄失敗,錯誤編18456"的解決過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09sql server啟動不了, MSSQL 18052錯誤: 9003,嚴(yán)重度: 20,狀態(tài): 1 .
今天在配置服務(wù)器的時(shí)候,sqlserver發(fā)現(xiàn)無法運(yùn)行了,到日志中看到 MSSQL 18052錯誤: 9003,嚴(yán)重度: 20,狀態(tài): 1 ,經(jīng)過下面的方法解決了2015-01-01sqlserver之datepart和datediff應(yīng)用查找當(dāng)天上午和下午的數(shù)據(jù)
這篇文章主要介紹了sqlserver之datepart和datediff應(yīng)用查找當(dāng)天上午和下午的數(shù)據(jù),非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08