我应该使用NTILE来获取datalength的数据分布吗?

问题描述:

使用SQL Server 2014.我应该使用NTILE来获取datalength的数据分布吗?

我有一个数百万行的表,其中varchar(max)列名为[Description]。该MAX(DATALENGTH(Description))是30000

我想说明一个结果集显示数据的数据长度在1000

群体分布,第一行会显示,有0之间的数据长度行的总数1000,第二行将显示1001-2000行的计数等等。共有30行(因为它们是1000的组)。

NTILE是否是正确的工具?你会如何编写这个查询?

请勿使用尼龙。使用这个:

SELECT 
    COUNT(*) cnt, 
    DATALENGTH(Description)/1000 grp, 
    CAST(DATALENGTH(Description)/1000 * 1000 as varchar(10)) +'-'+ 
    CAST((DATALENGTH(Description)/1000 + 1) * 1000 as varchar(10)) Interval 
FROM @t 
GROUP BY DATALENGTH(Description)/1000