SQL語(yǔ)句練習(xí)實(shí)例之二——找出銷(xiāo)售冠軍
更新時(shí)間:2011年10月07日 00:27:05 作者:
在公司中,老板走進(jìn)來(lái),要一張每個(gè)地區(qū)銷(xiāo)量前3名的銷(xiāo)售額與銷(xiāo)售員的報(bào)表
復(fù)制代碼 代碼如下:
--銷(xiāo)售冠軍
--問(wèn)題:在公司中,老板走進(jìn)來(lái),要一張每個(gè)地區(qū)銷(xiāo)量前3名的銷(xiāo)售額與銷(xiāo)售員的報(bào)表
---
create table salesdetail
(
Area int not null,
Saler nvarchar(20) not null,
SalerId int not null,
Sales money not null
)
insert salesdetail
select 1,'張三',15,3000
union select 1,'趙一',16,3500
union select 1,'錢(qián)二',17,4000
union select 1,'孫三',18,5000
union select 1,'李四',19,5000
union select 1,'王五',11,7000
union select 2,'周邊一',25,3000
union select 2,'李白',22,4000
union select 2,'張鎮(zhèn)東',23,6000
union select 2,'李寧',24,1000
union select 3,'李斯',35,3000
union select 3,'李勇',33,2000
union select 4,'李逵',44,5000
union select 4,'宋江',45,5000
union select 4,'吳用',42,13000
union select 4,'公孫勝',43,23000
union select 5,'阮小二',51,5000
union select 5,'阮小五',52,5000
union select 5,'林沖',53,5000
union select 5,'林莽',54,6000
go
---以下這種寫(xiě)法SQL語(yǔ)句會(huì)主動(dòng)把最小的那一個(gè)銷(xiāo)售額的所有行,都自動(dòng)刪除,只能得到比最小銷(xiāo)售額大的數(shù)據(jù)
--如果你的最小銷(xiāo)售額有3行,最大的只有一行,如地區(qū)5所示,只會(huì)得到最大的那一行。
--地區(qū)4只能得到二行,原因同上。
select * from salesdetail as a
where sales >= (select min(b.sales)
from salesdetail as b where a.Area=b.Area and a.Sales<=b.Sales
--group by sales
having COUNT(distinct b.Saler)<=3)
order by a.Area,a.Sales desc,a.Saler,a.SalerId
go
---使用rank()為每個(gè)分區(qū)中的每一行分配一個(gè)順序號(hào),如果有重復(fù)值,它們都將分配相同的順序號(hào)。
select a.area,a.saler,seq from
(
select area,saler,RANK() over(PARTITION by area order by sales desc) as seq from salesdetail
)a where seq<=3
drop table salesdetail
您可能感興趣的文章:
相關(guān)文章
SQLSERVER?出現(xiàn)死鎖查找方法和解決辦法(推薦)
這篇文章主要介紹了SQLSERVER?出現(xiàn)死鎖查找方法和解決辦法(推薦),文中講解了查詢(xún)死鎖語(yǔ)句,殺死死鎖的解決方法,需要的朋友可以參考下2024-02-02
學(xué)習(xí)SQL語(yǔ)句(強(qiáng)大的group by與select from模式)
本文介紹的是強(qiáng)大的group by使用與利用select from (select from)的模式生成SQL語(yǔ)句的代碼。2011-10-10
sqlserver 數(shù)據(jù)庫(kù)壓縮與數(shù)據(jù)庫(kù)日志(ldf)壓縮方法分享
數(shù)據(jù)庫(kù)在使用中,冗余的數(shù)據(jù)不斷的增加(數(shù)據(jù)刪除也不會(huì)減?。?,導(dǎo)致數(shù)據(jù)庫(kù)不斷的增大!所以該給你的數(shù)據(jù)庫(kù)減減肥了2011-12-12
SQL Server 獲取服務(wù)器時(shí)間的sql語(yǔ)句
這篇文章主要介紹了SQL Server 獲取服務(wù)器時(shí)間的sql語(yǔ)句,需要的朋友可以參考下2016-07-07
SQL Server查看login所授予的具體權(quán)限問(wèn)題
在SQL Server數(shù)據(jù)庫(kù)中如何查看一個(gè)登錄名(login)的具體權(quán)限呢,下面腳本之家小編給大家?guī)?lái)了SQL Server查看login所授予的具體權(quán)限問(wèn)題,感興趣的朋友一起看看吧2019-09-09
SQL?server數(shù)據(jù)庫(kù)日志文件收縮操作方法
日常使用數(shù)據(jù)庫(kù)可能存在日志每天增長(zhǎng)10G或以上,太恐怖了!數(shù)據(jù)量過(guò)大導(dǎo)致服務(wù)器卡死,內(nèi)存溢出,執(zhí)行Sql過(guò)慢等問(wèn)題,這篇文章主要給大家介紹了關(guān)于SQL?server數(shù)據(jù)庫(kù)日志文件收縮操作的相關(guān)資料,需要的朋友可以參考下2024-02-02
SQL Server數(shù)據(jù)庫(kù)中設(shè)置索引的策略分享
在 SQL Server 中,索引通過(guò)加快數(shù)據(jù)檢索速度在優(yōu)化查詢(xún)性能方面發(fā)揮著關(guān)鍵作用,在數(shù)據(jù)庫(kù)中設(shè)置索引的策略受數(shù)據(jù)庫(kù)結(jié)構(gòu)、表的大小和將要運(yùn)行的查詢(xún)類(lèi)型的影響,以下是如何將索引應(yīng)用于這些不同類(lèi)型的表的詳細(xì)分類(lèi),需要的朋友可以參考下2024-12-12

