c# - 如何找到特定行的行号?

标签 c# sql sql-server-ce

我有一个这样的数据库表:

enter image description here

我想获取第二行的行号。我使用以下代码:

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/

相关文章:

c# - 似乎没有为 __doPostBack 发出正确的 GridView 标记

database - SQL CE 4.0 和 SQLite 支持的最大文件大小和连接数

sql-server-ce - 在.net 3.5下运行SQL CE 4.0可以吗?

c# - 如何在Unity中自动结束游戏?

c# - 代码隐藏中的 WPF UserControl 动画不适用于 ContentPresenter

c# - 如何在将新项目添加到列表后基于模板创建新的共享点站点

SQL-如何让sql自动设置下一个id

sql - 如果记录作为外部表存在于另一个表中,如何不删除?

当 like 条件包含多个字符时,SQL 返回 null

f# - 如何使用 F# 中的类型提供程序连接到 SQL Server Compact Edition 4.0?