sql - Access SQL 如何在 SELECT 查询中进行增量

标签 sql ms-access select counter

我有一个 SQL 查询给我 X 个结果,我希望查询输出有一个名为 算作这样的查询:

count id section
1     15    7
2     3     2
3     54    1
4     7     4

我怎样才能做到这一点?

最佳答案

所以在您的示例中,“count”是派生的序列号?我没有看到使用什么模式来确定 id=15 的计数必须为 1,id=3 的计数必须为 2。

count id section
1     15    7
2     3     2
3     54    1
4     7     4

如果 id 包含唯一值,并且您按 id 排序,您可以这样:

count id section
1     3     2
2     7     4
3     15    7
4     54    1

在我看来,mikeY 的 DSum 方法可行。或者您可以使用 Allen Browne 描述的不同方法进行排名查询 at this page

编辑:您可以使用 DCount 而不是 DSum。我不知道两者之间的速度比较如何,但 DCount 避免在表中创建一个字段,只是为了为每一行存储一个 1。

DCount("*","YourTableName","id<=" & [id]) AS counter

无论您使用 DCount 还是 DSum,如果 id 值不唯一,计数器值都可能包含重复值。如果 id 是主键,不用担心。

关于sql - Access SQL 如何在 SELECT 查询中进行增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294382/

相关文章:

c# - FormView 插入新行 C# 和 ASP.NET

mysql - SQL 查询仅在第二部分中进行并集和随机排序

php - SQL 在字符串中搜索字符串

sql-server-2005 - 是否有等效于 SQL Server NewId() 函数的 Access?

mysql - 使用连接从两个表中选择

mysql - 使用 MySQL 查询对 JSON 对象进行子集化

php 截断数据库的某些部分后不选择

SQL IF block 代码导致错误,即使它不应该执行

excel - 锁定 Access 表以防止在特定时间进行写入

MySQL - 试图将 3 个 SELECTS 合并为一个