暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
NTILE (Transact-SQL) .pdf
59
10页
0次
2024-04-08
免费下载
NTILE (Transact-SQL)
项⽬
2023/12/22
13 个参与者
反馈
本文内容 语法 ⾃变量 返回类型 备注 显⽰另外 3
适⽤于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse
Analytics Analytics Platform System (PDW)
将有序分区中的⾏分发到指定数⽬的组中。 各个组有编号,编号从⼀开始。 对于每⼀个⾏,
NTILE 将返回此⾏所属的组的编号。
Transact-SQL 语法约定
语法
syntaxsql复制
备注
若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅 早期版本文档
⾃变量
integer_expression
⼀个正整数表达式,⽤于指定每个分区必须被划分成的组数。 integer_expression 可以是 int
bigint 类型
partition_by_clause<>
将由 FROM ⼦句⽣成的结果集划分为要应⽤函数的分区。 有关 PARTITION BY 语法的信息,请参
OVER ⼦句 (Transact-SQL)
order_by_clause<>
确定 NTILE 值分配到分区中各⾏的顺序。 当在排名函数中使⽤ <order_by_clause> 时,不能⽤整
数表⽰列。
NTILE (integer_expression) OVER ( [ <partition_by_clause> ] < order_by_clause >
) 
返回类型
bigint
备注
如果分区的⾏数不能被 integer_expression 整除,则将导致⼀个成员有两种⼤⼩不同的组。 按照
OVER ⼦句指定的顺序,较⼤的组排在较⼩的组前⾯。 例如,如果总⾏数是 53,组数是 5,则前
三个组每组包含 11 ⾏,其余两个组每组包含 10 ⾏。 另⼀⽅⾯,如果总⾏数可被组数整除,则⾏
数将在组之间平均分布。 例如,如果总⾏数为 50,有五个组,则每组将包含 10 ⾏。
NTILE 具有不确定性。 有关详细信息,请参阅 Deterministic and Nondeterministic Functions
⽰例
A. 将⾏分为组
下⾯的⽰例根据员⼯的年初⾄今销售额将⾏分到四个员⼯组中。 由于总⾏数不能被组数整除,因
此前两个组将包含四⾏,⽽其余各组包含三⾏。
SQL复制
下⾯是结果集:
复制
USE AdventureWorks2022; 
GO
SELECT p.FirstName, p.LastName
 ,NTILE(4) OVER(ORDER BY SalesYTD DESC) AS Quartile 
 ,CONVERT(NVARCHAR(20),s.SalesYTD,1) AS SalesYTD 
 , a.PostalCode
FROM Sales.SalesPerson AS s 
INNER JOIN Person.Person AS p 
 ON s.BusinessEntityID = p.BusinessEntityID
INNER JOIN Person.Address AS a 
 ON a.AddressID = p.BusinessEntityID
WHERE TerritoryID IS NOT NULL
 AND SalesYTD <> 0; 
GO
FirstName   LastName       Quartile SalesYTD    PostalCode 
------------- --------------------- --------- -------------- ---------- 
of 10
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜