2015-03-02 36 views
1

使用SQL Server 2014.我應該使用NTILE來獲取datalength的數據分佈嗎?

我有一個數百萬行的表,其中varchar(max)列名爲[Description]。該MAX(DATALENGTH(Description))是30000

我想說明一個結果集顯示數據的數據長度在1000

羣體分佈,第一行會顯示,有0之間的數據長度行的總數1000,第二行將顯示1001-2000行的計數等等。共有30行(因爲它們是1000的組)。

NTILE是否是正確的工具?你會如何編寫這個查詢?

回答

1

請勿使用尼龍。使用這個:

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 
相關問題