以下语句按预期工作:
SELECT SaleId, NTILE(16)
OVER (ORDER BY SaleId) AS Chunk
FROM EPR_SaleHeader
将NTILE
调用更改为使用参数:
DECLARE @Slices int = 16
SELECT SaleId, NTILE(@Slices)
OVER ( ORDER BY SaleId) AS Chunk
FROM EPR_SaleHeader
结果是算术溢出错误。
SaleId
是大约750,000行的表中的int字段。
有人对此错误有解释吗?