带有行号的 SQL Unpivot

标签 sql sql-server-2005 tsql

我有一个带有 UNPIVOT 的 SELECT 语句

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

并返回值,如
dycd_acnam  |  dycd_dynam  |  dycd_value
----------------------------------------
MT          | Monday       | 1
MT          | Tuesday      | 1
MT          | Wednesday    | 0
MT          | Thursday     | 0

如何在行前添加行号 dycd_acnam ?试过 RANK()但它返回了错误的值。我想尽可能避免使用 #Temp 表。

最佳答案

如果您只想在结果中添加一个递增列,您可以添加

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

SELECT列表

关于带有行号的 SQL Unpivot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7643920/

相关文章:

PHP行删除

mysql - 产品价格提高10%

SQL 服务器 : combine only dates with no reference

sql-server - 有没有办法在字符串的开头放置一个不可见的字符来更改其排序顺序?

c# - 如何从标量值函数正确返回 count(*) 值

php - 数据库中的重复数据

sql - Oracle SQL 全外连接

sql - 为什么 'Select' 被称为 DML 语句?

sql - 连接具有缺失值的 SQL View

sql-server - 从游标源 SQL Server 中删除行