我有一个这样的数据库表:
我想获取第二行的行号。我使用以下代码:
SELECT ROW_NUMBER() OVER(ORDER BY Name) From Deposit WHERE Name='Murali'
但是,它不起作用。代码有什么问题? 提前致谢。
最佳答案
ROW_NUMBER
函数返回结果数据集中的行号。
在您的查询中,您将结果限制为仅那些名称为 Murali
的人。由于您只有一条这样的记录,因此返回 1 是正常的。
在 SQL 中没有行号这样的概念。表格行没有顺序。顺序的概念只有在进行 SQL 查询时才有意义。如果没有 SQL 查询,您根本无法谈论订单号和行号。
看来您需要为每个用户介绍一些订单号。正确的实现方式是在 Deposit
表中添加一个 Order
列。现在为了检索它,您将使用以下查询:
SELECT [Order] From Deposit WHERE Name = 'Murali'
剩下的就是让 Order
列自动递增,你就可以开始了。每次插入新记录时,该值都会自动递增。到此为止,现在您有了一个表示记录插入表中的顺序的顺序。您现在有了上下文。
关于c# - 如何找到特定行的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20854856/