Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 35% a
- 25% b
- 30% c
- 10% null
- */
- WITH tally
- (vals, updateThis, bucket)
- AS
- (
- SELECT
- DATEADD(DAY, - ROW_NUMBER() OVER (ORDER BY (SELECT NULL)), GETDATE())
- , NULL
- , NTILE(100) OVER (ORDER BY (SELECT NULL))
- FROM
- (
- VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0)) AS a(n)
- CROSS JOIN (VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0)) AS b(n)
- CROSS JOIN (VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0)) AS c(n)
- )
- --UPDATE
- --SET updateThis
- , updated
- AS
- (
- SELECT
- t.vals
- , CASE
- WHEN t.bucket <= 35 THEN 'a'
- WHEN t.bucket > 35 AND t.bucket <=60 THEN 'b'
- WHEN t.bucket > 60 AND t.bucket <=90 THEN 'c'
- WHEN t.bucket > 60 AND t.bucket <=90 THEN 'NULL'
- END AS updated
- , t.bucket
- FROM tally t
- )
- SELECT
- U.updated
- , COUNT(1) AS actual
- FROM
- updated u
- GROUP BY U.updated
Add Comment
Please, Sign In to add comment