SQL學習筆記四 聚合函數(shù)、排序方法
更新時間:2011年08月28日 22:27:33 作者:
SQL學習筆記四 聚合函數(shù)、排序方法,在數(shù)據(jù)調(diào)用中非常實用。
聚合函數(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)同時匹配兩個值。相當于 23 or 25
between 20 and 30 匹配介于20到30之間的數(shù)
group by分組
select FAge, count(*) from T_Employee
Group by Fage
先把相同的Fage分一組,再統(tǒng)計每一組的個數(shù)
group by子句要放在where子句之后。如果想取某個年齡段人數(shù)大于1的,不能用where count(*) > 1 ,因為聚合函數(shù)不能放在where子句之后。要用having子句
Having是對分組后的列進行過濾,能用的列和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)同時匹配兩個值。相當于 23 or 25
between 20 and 30 匹配介于20到30之間的數(shù)
group by分組
select FAge, count(*) from T_Employee
Group by Fage
先把相同的Fage分一組,再統(tǒng)計每一組的個數(shù)
group by子句要放在where子句之后。如果想取某個年齡段人數(shù)大于1的,不能用where count(*) > 1 ,因為聚合函數(shù)不能放在where子句之后。要用having子句
Having是對分組后的列進行過濾,能用的列和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)文章
解決MSSQL2005遠程連接sql2000非默認端口數(shù)據(jù)庫的問題
MSSQL2005連接sql2000非默認端口數(shù)據(jù)庫的問題給我折騰了快一天了,快瘋了,連接TCP/IP默認1433端口沒問題,連接其他端口數(shù)據(jù)庫問題有了。2007-11-11
SQL Server 2008 清空刪除日志文件(瞬間縮小日志到幾M)
sql 在使用中每次查詢都會生成日志,但是如果你長久不去清理,可能整個硬都堆滿哦,筆者就遇到這樣的情況,直接網(wǎng)站后臺都進不去了。下面我們一起來學習一下如何清理這個日志吧2018-10-10
SqlServer實現(xiàn)類似Oracle的before觸發(fā)器示例
本節(jié)主要介紹了SqlServer如何實現(xiàn)類似Oracle的before觸發(fā)器,需要的朋友可以參考下2014-08-08
SQLServer恢復(fù)表級數(shù)據(jù)詳解
這篇文章主要介紹了SQLServer中用于快速恢復(fù)表,而不是庫,但是切記,防范總比亡羊補牢好,需要的朋友可以參考下2014-08-08
SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解
這篇文章主要介紹了SQL Server之SELECT INTO 和 INSERT INTO SELECT案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08

