sql - 将 ID 列添加到查询结果中

标签 sql sql-server tsql

这是我第一次询问有关 T-SQL 的问题,而且我是它的初学者。我有一个 SQL 查询,它由两个过滤到少于 10 行的 CTE 组成。我正在使用 SUM 语句来获得运行总数:

Sum(Diff) OVER(ORDER BY DateAdded) AS Summary
DateAdded多行具有相同的值。因此,它没有给我每一行的运行总数。我需要创建一个简单地计算行数的字段(类似于数据库表中的 PK),以便我可以将它用于我的 ORDER BY条款。如果我的理解是正确的,这就是我需要做的事情才能让它发挥作用。如何将枚举列添加到查询结果集中?请注意,我不想ALTER一个表,只需在查询结果中添加一列即可。我希望我写的很清楚。谢谢!

最佳答案

而不是使用 count()sum()您可以使用 row_number()这将为结果集中的每一行提供一个不同的行号,从 1 开始:

SELECT ROW_NUMBER() OVER (ORDER BY dateAdded) as Summary

关于sql - 将 ID 列添加到查询结果中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38615632/

相关文章:

sql - 将列转换为行的性能影响

sql - 您可以设置自动增量将达到的最大值吗

SQL Server 2005 查询历史记录

sql - 如何授予 SQL Server 代理访问权限以便能够写入/修改系统文件?

sql - SQLAlchemy 中的 REGEXP_LIKE

sql - 如何在Firebird中使用触发器中的光标进行删除?

sql-server - 获取日期减去 1 天,但恰好是凌晨 4 点

sql - 选择列值已更改的行

sql - 在 nvarchar 声明中省略 size 有什么影响

mysql - 根据 id 列的值将一个 sql 列转换为两列