SQL Unpivot with row numbers

2019-06-24 03:39发布

I have a SELECT statement with UNPIVOT

SELECT dycd_acnam, dycd_dynam, dycd_value
FROM GCATT.dbo.tblDaycode UNPIVOT (
dycd_value FOR dycd_dynam IN (
    Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday)
) AS pvtDaycode
GROUP BY dycd_acnam, dycd_dynam, dycd_value

And returns values like

dycd_acnam  |  dycd_dynam  |  dycd_value
----------------------------------------
MT          | Monday       | 1
MT          | Tuesday      | 1
MT          | Wednesday    | 0
MT          | Thursday     | 0

How can I add a row number before the row dycd_acnam? Tried RANK() but it returned wrong values. I want to avoid using #Temp tables as much as possible.

1条回答
叛逆
2楼-- · 2019-06-24 04:16

If you just want an incrementing column added to the result you can add

ROW_NUMBER() OVER (ORDER BY (SELECT 0))

to the SELECT list

查看更多
登录 后发表回答