sql - 与每一行一起打印行号或计数器
问题描述
我想打印数据库中所有表的名称,但行号如下:
S.No. Table Name
-------------------
1. Products
2. Orders
3. OrderDetails
...
我尝试了以下方法,但这给了我总行数。
-- USE [MyDatabase]; -- implied
SELECT @@ROWCOUNT AS [S.No.],
Name as [Table Name]
FROM Sys.Tables;
我想我必须做类似的事情:
@Counter int;
SELECT (SELECT ++@Counter AS [S.No.]),
Name AS [Table Name]
FROM Sys.Tables;
但我不太确定确切的语法。你能帮我解决这个问题吗?
我正在使用 Microsoft SQL Server 2014。
解决方案
使用row_number()
:
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) as [S.No.],
Name as [Table Name]
FROM Sys.Tables;
推荐阅读
- r - 根据另一个参考表在数据框中的一列中插入值
- django - 使用for循环在django中动态访问表字段
- ios - 在 React Native 0.62 更新后找不到 -lBranch 的库
- algorithm - 将一棵二叉搜索树右转换为另一棵的时间复杂度
- javascript - Onkeyup javascript错误计算变化
- reactjs - React 功能组件在某些条件下从上下文调用其他函数或调用方法
- flutter - 根据存储在共享首选项中的记住我状态导航到屏幕
- reactjs - 使用 @ 访问 react native 中的一些文件夹
- javascript - 带有自动完成 jqueryui 的 UIKIT 3 模态
- audio - 从混音器获取数据