[ACCEPTED]-How to group data into buckets in Microsoft SQL-sql-server

Accepted answer
Score: 10
SELECT NAME, 
CASE WHEN [BASE/DAY] <= 325 THEN '300 <= 325'
     WHEN [BASE/DAY] <= 350 THEN '325 <= 350'
     WHEN [BASE/DAY] <= 400 THEN '350 <= 400'
END AS BUCKET,
[BASE/DAY]
FROM
(
    SELECT NAME, ROUND([DR# BASE]/DAYS_WORKED,0) AS 'BASE/DAY' FROM MYTABLE
) T
ORDER BY 1, 2, 3

0

Score: 5
SELECT NAME,
    [BASE/DAY],
    CAST( ([BASE/DAY]-1) / 25) * 25 AS varchar(20)) + ' <= ' +
    CAST( ([BASE/DAY]-1) / 25 + 1) * 25 AS varchar(20)) As Bucket,
FROM 
    (SELECT Name, ROUND([DR# BASE]/DAYS_WORKED,0) AS [BASE/DAY]
      FROM MYTABLE) T

Edit: fixed the boundary values to appear 1 within the lower bucket.

More Related questions