/*
For a table with INT column count rows for each Range of rows.
Set to 10M rows...
*/
SELECT
MIN([KeyTable].[Key]) AS [MinKey],
MAX([KeyTable].[Key]) AS [MaxKey],
[KeyTable].[Range] * 10000000 AS [Range10M],
COUNT(*) AS [RangeRows]
FROM (
SELECT
[Key],
(([Key] - 1) / 10000000) + 1 AS [Range]
FROM [dbo].[Detail]
) AS [KeyTable]
GROUP BY [KeyTable].[Range]
ORDER BY [KeyTable].[Range]
-- Test one.
SELECT COUNT(*)
FROM [dbo].[Detail]
WHERE [Key]
BETWEEN 150000001 AND 160000000
GO
