欢迎来到天天文库
浏览记录
ID:34726254
大小:105.68 KB
页数:5页
时间:2019-03-10
《sql记录排序与返回行号》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、表jh03有下列数据:name scoreaa 99bb 56cc 56dd 77ee 78ff 76gg 78ff 501.名次生成方式1,Score重复时合并名次SELECT* , Place=(SELECTCOUNT(DISTINCTScore)FROMjh03WHEREScore>=a.Score)FROMjh03aORDERBYPlace结果NameScorePlace--------------------------------------------aa99.001ee78.002gg78.002dd
2、77.003ff76.004bb56.005cc56.005ff50.0062.名次生成方式2,Score重复时保留名次空缺SELECT*,Place=(SELECTCOUNT(Score)FROMjh03WHEREScore>a.Score)+1FROMjh03aORDERBYPlace结果NameScorePlace-------------------------------------------aa99.001ee78.002gg78.002dd77.004ff76.005bb56.006cc56.006ff50.008·
3、······························--2005中使用row_number等.SQLcodeROW_NUMBER、RANK、DENSE_RANK的用法(爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)2007-12-16广东深圳)SQLServer2005引入几个新的排序(排名)函数,如ROW_NUMBER、RANK、DENSE_RANK等。这些新函数使您可以有效地分析数据以及向查询的结果行提供排序值。-------------------------------------------------------
4、-------------------ROW_NUMBER()说明:返回结果集分区内行的序列号,每个分区的第一行从1开始。语法:ROW_NUMBER()OVER([])。备注:ORDERBY子句可确定在特定分区中为行分配唯一ROW_NUMBER的顺序。参数::将FROM子句生成的结果集划入应用了ROW_NUMBER函数的分区。:确定将ROW_NUMBER值分配给分区中的行的顺序。返回
5、类型:bigint。示例:/*以下示例将根据年初至今的销售额,返回AdventureWorks中销售人员的ROW_NUMBER。*/USEAdventureWorksGOSELECTc.FirstName,c.LastName,ROW_NUMBER()OVER(ORDERBYSalesYTDDESC)AS'RowNumber',s.SalesYTD,a.PostalCodeFROMSales.SalesPersonsJOINPerson.Contactcons.SalesPersonID=c.ContactIDJOINPerson.
6、AddressaONa.AddressID=c.ContactIDWHERETerritoryIDISNOTNULLANDSalesYTD<>0/*FirstNameLastNameRowNumberSalesYTDPostalCode---------------------------------------------------------------------ShelleyDyck15200475.231398027GailErickson25015682.375298055MaciejDusza34557045.045
7、998027LindaEcoffey43857163.633298027MarkErickson53827950.23898055TerryEminhizer63587378.425798055MichaelEmanuel73189356.246598055JaunaElson83018725.485898055CarolElliott92811012.715198027JanethEsteves102241204.042498055MarthaEspinoza111931620.183598055CarlaEldridge1217
8、64938.985998027TwannaEvans131758385.92698055(13行受影响)*//*以下示例将返回行号为50到60(含)的行,并以OrderDate排序。*/USEAdventureWorks;GOWITH
此文档下载收益归作者所有