MS Access - 对于给定变量的每次出现,将“计数”值加一?

2024-02-03

我正在寻找一个查询,该查询将:读取一列中一行的当前值,将其与上面的行进行比较,如果上面的行匹配则按顺序计数。本质上,这听起来像是一个运行计数,而不是 Count(*),几乎就像每组行上的行应该为 Count(Variable)-1,直到达到最小值零。下面的示例假设我们有一个每日销售列表,并计算给定产品 ID 的出现次数。这可能吗?

选择计数(ProductID)作为 SalesCount 作为 SalesOccurence 的未知公式


您所描述的有时可以使用 Access SQL 来完成自加入其中包括其中一个字段之间的大于或小于关系。例如,假设我们有一个名为 [SalesHistory] ​​的表,其中包含数据

ProductID  SalesDate   DailySales
---------  ----------  ----------
001        2013-10-16         225
001        2013-10-17         195
001        2013-10-18         250
002        2013-10-16         350
002        2013-10-17         375
002        2013-10-18         330

查询

SELECT t1.ProductID, t1.SalesDate, t2.ProductID, t2.SalesDate
FROM 
    SalesHistory t1 
    INNER JOIN 
    SalesHistory t2 
        ON t1.ProductID = t2.ProductID 
            AND t1.SalesDate >= t2.SalesDate
ORDER BY t1.ProductID, t1.SalesDate

返回以下结果

t1.ProductID  t1.SalesDate  t2.ProductID  t2.SalesDate
------------  ------------  ------------  ------------
001           2013-10-16    001           2013-10-16  
001           2013-10-17    001           2013-10-17  
001           2013-10-17    001           2013-10-16  
001           2013-10-18    001           2013-10-18  
001           2013-10-18    001           2013-10-17  
001           2013-10-18    001           2013-10-16  
002           2013-10-16    002           2013-10-16  
002           2013-10-17    002           2013-10-17  
002           2013-10-17    002           2013-10-16  
002           2013-10-18    002           2013-10-18  
002           2013-10-18    002           2013-10-17  
002           2013-10-18    002           2013-10-16  

请注意,对于t1.ProductID='001'返回一行t1.SalesDate=#2013-10-16#, 两行t1.SalesDate=#2013-10-17#, 等等。因此,我们可以调整该查询来计算返回的行数,这将为我们提供按 ProductID 排列的每个日期的排名

SELECT t1.ProductID, t1.SalesDate, COUNT(*) AS DateRank
FROM 
    SalesHistory t1 
    INNER JOIN 
    SalesHistory t2 
        ON t1.ProductID = t2.ProductID 
            AND t1.SalesDate >= t2.SalesDate
GROUP BY t1.ProductID, t1.SalesDate

...返回:

ProductID  SalesDate   DateRank
---------  ----------  --------
001        2013-10-16         1
001        2013-10-17         2
001        2013-10-18         3
002        2013-10-16         1
002        2013-10-17         2
002        2013-10-18         3

如果我们在 Access 中将该查询保存为 [SalesDateRanksByProduct],那么我们可以在另一个查询中使用它来在原始数据旁边显示该 DateRank“计数器”:

SELECT 
    SalesHistory.ProductID, 
    SalesHistory.SalesDate, 
    SalesHistory.DailySales, 
    SalesDateRanksByProduct.DateRank
FROM 
    SalesHistory 
    INNER JOIN 
    SalesDateRanksByProduct 
        ON (SalesHistory.SalesDate = SalesDateRanksByProduct.SalesDate) 
            AND (SalesHistory.ProductID = SalesDateRanksByProduct.ProductID)
ORDER BY SalesHistory.ProductID, SalesHistory.SalesDate;

...返回:

ProductID  SalesDate   DailySales  DateRank
---------  ----------  ----------  --------
001        2013-10-16         225         1
001        2013-10-17         195         2
001        2013-10-18         250         3
002        2013-10-16         350         1
002        2013-10-17         375         2
002        2013-10-18         330         3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MS Access - 对于给定变量的每次出现,将“计数”值加一? 的相关文章

  • Extbase - 从查询中获取创建的sql

    我想从我的typo3 扩展中获取一些数据库表 该扩展基于 extbase 查询总是不返回任何内容 但数据存在 我试过这个 query this gt createQuery query gt statement SELECT FROM my
  • 使用 .NET 中的类型化数据集将 SQL 参数传递给 IN() 子句

    首先道歉 因为该网站上有类似的问题 但没有一个直接回答这个问题 我在 VS 2010 中使用类型化数据集 我在数据集中创建一个 TableAdapter 查询如下 SELECT from Table WHERE ID IN IDs 现在如果
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • SQL Server 2008 错误 233

    我正在使用以下 sql 脚本在 SQL Server 2008 中创建新登录名 CREATE LOGIN xyz WITH PASSWORD xyz DEFAULT DATABASE master DEFAULT LANGUAGE us e
  • 没有为 1 个或多个必需参数给出值。更新SQL

    我正在编写一个程序 当用户在列表视图上选择记录时 该程序会更新密码或积分 我收到错误 没有为 1 个或多个必需参数给出值 我不知道如何纠正 我是否遗漏了一些明显的东西 Dim sql As String UPDATE Users SET P
  • 需要 SQL 查询澄清[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个由以下列组成的表 billid patientid doctorid fees 如何显示治疗多名患者的医生 尝试了以下代码并得到了
  • 何时在 mysql 中使用 Union [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于 Union 您会在什么现实情况下使用它 因为对我来说 对具有不同列用途 含义的两个表中的两个选择查询使用联合是没有意义的 例如
  • 将两个表合并为一个输出

    假设我有两张表 已知营业时间 ChargeNum CategoryID Month Hours 111111 1 2 1 09 10 111111 1 3 1 09 30 111111 1 4 1 09 50 222222 1 3 1 09
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • Java、Oracle 中索引处缺少 IN 或 OUT 参数:: 1 错误

    您好 我使用 Netbeans 8 0 2 和 Oracle 11g Express Edition 在 JSF 2 2 中编写了一个图书馆管理系统 我有几个名为 书籍 借阅者 等的页面 以及数据库中一些名为相同名称的表 我的问题是这样的
  • SQL - 需要查找重复记录但排除反向事务

    我有一张交易表 偶尔会有 重复条目 如果 当管理员发现这些重复条目时 他们将撤销交易 从而创建负值 但由于监管要求 原始重复条目仍然保留 我想创建一个 SQL 查询 并使用 Crystal Reports 来制作报告 以便管理员轻松查找重复
  • IIF(...) 不是公认的内置函数

    我正在尝试在 Microsoft SQL Server 2008 R2 中使用它 SET SomeVar SomeOtherVar IIF SomeBool value when true value when false 但我收到一个错误
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • Oracle:按月分区表

    我的解决方案 德语几个月 PARTITION BY LIST to char GEBURTSDATUM Month PARTITION p1 VALUES JANUAR PARTITION p2 VALUES Februar PARTITI
  • 解析错误:语法错误,意外的 T_RETURN [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 遇到这个问
  • 可以有一个带有可变列的表吗?

    这可能是一个愚蠢的问题 但这里是 是否可以创建一个能够包含具有可变列数和自定义列名称的行的动态表 我浏览过 EAV 建模 但看起来很沉重 现实生活中的例子可能是这样的 假设我有一个客户登记册 但每个客户可能需要输入不同的信息 根据您要输入的
  • 无法与重定向器建立连接。确保“sql browser”服务正在运行

    所以我尝试这个 sql server 2012 由于这个错误我无法打开任何 ssis 包 无法与重定向器建立连接 确保 sql browser 服务正在运行 我的 Sql 浏览器肯定正在运行 我尝试在本地服务 本地系统和网络下更改它 仍然没
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航

随机推荐

  • iOS FFT 绘制频谱

    我读过这些问题 使用 Apple FFT 和加速框架 https stackoverflow com questions 3398753 using the apple fft and accelerate framework 使用 Acc
  • 选择 Firefox 附加目录中的文件

    为了简单起见 我将基于 XUL 的 Firefox 插件转换为基于 SDK 的版本 我在基于 XUL 的版本中使用的 XPCOM 模块似乎可以工作 但 ci nsIFile 的行为不同 我不知道如何导航到当前位于目录最高层的 smartPr
  • ASP.NET MVC MultiSelectList 的选定值未正确选择

    我知道其他人也问过这个问题 但我对此完全困惑 这将显示未选择任何值的下拉列表 这将显示下拉列表 其中包含我在 Model items 中传递的值 这些值已正确选择 就像我所期望的那样
  • 使用 gdb 调试 C++11 右值引用

    我刚刚注意到我无法调试rvalue参考文献与gdb 7 7 1适当地 void simple int i 当我输入这个简约函数时 我无法获得任何有意义的信息i It s type and value are unknown to gdb s
  • 当我实现自定义 Lint 检测器时如何调试 java 源代码?

    我是一名 Android 开发者 我已经通过实现新的 XXXDetector 和 XXXIssueRegistry 设计了自己的 lint 规则 这是我的源代码片段 我的 XXXIssueRegistry 文件 public class M
  • 关闭 Windows 8 超级按钮栏

    我有一台 Surface Pro 我需要将其 锁定 为一种 Kiosk 模式 我知道 信息亭模式 的更新正在进行中 但是我需要在此之前执行此操作 我在互联网上进行了搜索 但似乎您无法通过滑动来禁用超级按钮栏screen 我找到了禁用触控板的
  • C 静态库的包装

    我有一个用于相机的 C 静态库 现在计划为 Windows 8 开发 C WPF UI 它将使用 C 静态库来捕获视频 音频 我的想法是 C Static 会有 C CLI 包装器 包装器将是托管 Dll C WPF UI 将使用此 Dll
  • 在克隆期间更改内部元素 id

    我正在单击按钮时克隆 DIV 元素 我可以更改正在克隆的 DIV 元素的 ID 值 但是是否可以更改内部元素的 id 在下面的代码中 我更改了 Id selection克隆时 我需要动态更改 id select div div class
  • 使用 Spring RestTemplate 访问 Https Rest 服务

    谁能给我提供一个代码示例来使用 Spring Rest 模板访问通过 HTTPS 保护的其余服务 URL 我有证书 用户名和密码 基本身份验证用于服务器端 我想创建一个可以使用提供的证书 用户名和密码 如果需要 连接到该服务器的客户端 Ke
  • 头部内有多个 RSS 链接标签,标记是否有效?

    在 RSS feed 中包含多个 RSS feed 是否有效 tag 我的意思是 标签如下 etc 我们有一小部分 总共五个 RSS 提要 我们已经拥有了一段时间 但只在头标签中包含了 主要 提要 可以将它们全部包括在内吗 是的 这是完全有
  • jquery UI - 将日期添加到选定日期

    这看起来很简单 但我无法解决它 我真的需要这个 如何通过 SelectedDate 事件将日期添加到选定日期 我需要对 2 个日期选择器执行日期范围限制 一旦用户设置了一个日期选择器 另一个日期选择器只需要允许日期等于第一个日期选择器的所选
  • WHERE 子句中的动态条件

    我有一个存储过程 想知道是否可以建立一个动态的where基于参数的条件 假设我有这个查询 SELECT FROM tbl Users 现在 我有一个名为 username 我想用它来建立一个动态的where条件 通过我的程序可能是 1 个或
  • 从文件读取/写入 std::unordered_map 的更快方法

    我正在与一些非常大的公司合作std unordered maps 数亿个条目 并且需要将它们保存到文件中或从文件中加载它们 我目前执行此操作的方法是迭代映射并一次读取 写入每个键和值对 std unordered map
  • 增加 Linux 中 TCP/IP 连接的最大数量

    我正在对服务器进行编程 似乎我的连接数量受到限制 因为即使我将连接数量设置为 无限 我的带宽也没有饱和 如何增加或消除 Ubuntu Linux 机器一次可以打开的最大连接数 操作系统是否限制了这一点 或者是路由器或ISP 或者是别的什么
  • 火鸟远程备份

    我想备份 firebird 数据库 我正在使用 gbak exe 实用程序 效果很好 但是 当我想从远程计算机进行备份时 备份文件存储在服务器文件系统上 有没有办法强制 gbak 实用程序下载备份文件 Thanks 备份存储在 Firebi
  • chrome:为什么 css 3d 对变换比例 < 0 的大元素进行变换会导致白屏错误?

    我遇到了屏幕区域在镀铬中变白的问题 下面是一个简化的测试用例 从测试来看 可以肯定的是 变换缩放和旋转的组合导致了该问题 为了用少量 html 元素重现该问题 我夸大了情况并使用了按比例缩小 0 125 的 5000px 正方形 请注意 只
  • Angular 2 单元测试:找不到名称“描述”

    我正在跟进本教程来自 angular io https angular io docs ts latest guide testing html jasmine 101 正如他们所说 我创建了 Hero spec ts 文件来创建单元测试
  • -XX:-PrintGC 和 XX:-PrintGCDetails 标志有什么作用?

    我找到了 JVM 标志here http java sun com javase technologies hotspot vmoptions jsp 有没有更详细的解释他们到底做什么 设置此标志会将 JVM 进行的所有垃圾收集写入日志文件
  • bash 输出为 json 格式

    我是 Linux 和 Bash 脚本新手 我正在尝试将 Ubuntu Linux 中的几个 bash 脚本输出为 JSON 格式 但是 我似乎无法让它正常工作 我的目标是得到这个 date u Y m d H M S date and ti
  • MS Access - 对于给定变量的每次出现,将“计数”值加一?

    我正在寻找一个查询 该查询将 读取一列中一行的当前值 将其与上面的行进行比较 如果上面的行匹配则按顺序计数 本质上 这听起来像是一个运行计数 而不是 Count 几乎就像每组行上的行应该为 Count Variable 1 直到达到最小值零