每个产品返回一个 SQL 行,其中包含价格和最新日期

2023-12-14

我不是一个 SQL 专家,我过去使用过它,很少遇到 google 无法解决的问题......但是这次我需要询问社区。

我有一个数据库,其中有一个名为“交易”的表,它的数据如下:

ProdNo    | Price | TransactionDate | PurchasedBy | etc.....
----------------------------------------------------------
3STRFLEX  | 13.02 | 20162911        | AWC         | .....
3STRFLEX  | 15.02 | 20162011        | DWC         | .....
3STRFLEX  | 15.02 | 20160101        | AWC         | .....
AFTV2     | 35.49 | 20162708        | AWC         | .....
AFTV2     | 29.99 | 20160106        | DWC         | .....
AFTV2     | 29.99 | 20160205        | AWC         | .....

期望的输出是:

ProdNo    | Price | TransactionDate 
-----------------------------------
3STRFLEX  | 13.02 | 20162911        
AFTV2     | 35.49 | 20162708        

我尝试自己写这个,最后我得到了这样的 SQL:

select t.ProdNo, t.TransactionDate as 'LastPurchaseDate', t.Price
from Transactions t
inner join (
     select ProdNo, max(TransactionDate) as 'LastPurchaseDate'
     from Transactions
     WHERE Price > 0
     group by ProdNo
 ) tm on t.ProdNo = tm.ProdNo and LastPurchaseDate = tm.LastPurchaseDate

但是,在我的数据集中,此返回(减少)显示每个产品的多行

ProdNo    | LastPurchaseDate | Price
3STRFLX   | 20120924         | 0.000000
3STRFLX   | 20120924         | 22.000000
3STRFLX   | 20150623         | 0.000000
3STRFLX   | 20150623         | 1.220000
3STRFLX   | 20150623         | 1.222197

因此,为了确认:我希望每个产品的最新购买日期为 1 行,无论价格如何,但我需要返回数据中的价格。

Thanks


您可以使用 CTE 和排名函数PARTITION BY:

WITH CTE AS
(
    select t.ProdNo, t.TransactionDate as 'LastPurchaseDate', t.Price,
           rn = row_number() over (partition by ProdNo order by TransactionDate desc)
    from Transactions t
)
SELECT ProdNo, LastPurchaseDate, Price  FROM CTE WHERE RN = 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每个产品返回一个 SQL 行,其中包含价格和最新日期 的相关文章

  • 打开脚本任务时 SSIS 丢失文件引用

    我们使用自定义审核程序集 C 在脚本任务中记录 SSIS 中的多种操作 我们将在 GAC 中构建自定义程序集 用于运行时 并发布到 IDE VS2008 的公共程序集区域以供设计时文件引用 后构建完成后 自定义程序集可在运行时使用 并可在文
  • 按小时拆分日期/时间数据并将日期/时间范围展开为行

    我正在尝试使用 SQL Server 将一系列日期 时间数据扩展为多行 例如 我的数据看起来像 Date StartTime EndTime EmployeeID ShiftType 10 1 2019 8 30 00AM 4 57 00P
  • 为什么某些字符无法从 CFQUERY 正确注入到 SQL Server?

    我有一个在 Lucee 上运行的 Coldfusion 应用程序 它连接到 SQL Server 数据库 当我直接在 SQL Server 管理器中运行以下查询时 UPDATE article SET content 20m WHERE i
  • Oracle 获取列值发生变化的行

    假设我有一张桌子 比如 ID CCTR DATE 1 2C 8 1 2018 2 2C 7 2 2018 3 2C 5 4 2017 4 2B 3 2 2017 5 2B 1 1 2017 6 UC 11 23 2016 还有其他字段 但我
  • 在SQL Server中仅获取浮点数的小数部分[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在 SQL Server 2008
  • 显示过去 7 天 PHP 的结果

    我想做的是显示过去 30 天的文章 但我现有的代码不断给我一个 mysql fetch assoc 错误 然后追溯到我的查询 这是代码 sql mysql query SELECT FROM table WHERE DATE datetim
  • MySQL 子查询返回多行

    我正在执行这个查询 SELECT voterfile county Name voterfile precienct PREC ID voterfile precienct Name COUNT SELECT voterfile voter
  • 从数据库配置中的连接字符串中删除 SSIS 密码

    我有一个 SSIS 包 它使用 SQL 服务器中的 SSIS 配置表来检索 OLE DB 连接管理器的连接字符串属性 问题是我还需要相同的连接字符串来调用使用实体框架的程序集 我尝试访问连接管理器连接字符串属性 但 SSIS 总是删除密码
  • 如何打印Oracle中过程的定义?

    oracle中有没有办法查看过程的结构是什么 我正在尝试记录并运行程序 并希望将实际的程序结构存储在我的日志中 您可以查询ALL SOURCE table SELECT text FROM all source WHERE owner lt
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • SQL - 为每条记录调用存储过程

    我正在寻找一种方法来为 select 语句的每条记录调用存储过程 SELECT SomeIds SELECT spro Id FROM SomeTable as spro INNER JOIN Address addr ON addr Id
  • SQL Server 相当于 MySQL 的 USING

    在 MySQL 中 当您连接不同表中具有相同名称的列时 可以在连接中使用关键字 USING 例如 这些查询产生相同的结果 SELECT FROM user INNER JOIN perm USING uid SELECT FROM user
  • 在 Postgres 中的数组字段上应用聚合函数?

    是否可以对整数 字段 或其他数字数组 中的所有值应用聚合 如 avg stddev CREATE TABLE widget measurement integer insert into widget measurement values
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • SQL Server 差异工具

    在一个团队中工作时 人们很容易修改开发 SQL Server 表并忘记它 或者准备部署更改但必须等待部署 这使得我们的开发表和活动表不一致 从而在推送存储过程时导致问题 是否有一个工具可以让我输入 SPROC 名称并让它检查开发数据库和实时
  • 如何找出我的 MS SQL Server 排序规则是什么?

    是否有我可以执行的 SQL 来找出答案 服务器默认排序规则 select serverproperty collation 哪个是相同的 select databasepropertyex master collation Check 服务
  • 累计非重复计数

    我正在查询每天获取 uid 的累计不同计数 示例 假设有 2 个 uid 100 200 出现在日期 2016 11 01 并且它们也在第二天出现 新的 uid 300 100 200 300 出现在 2016 11 02 此时我希望商店累
  • 案例陈述以确定我是否应该结合

    我目前想做某种条件联合 给出以下示例 SELECT age name FROM users UNION SELECT 25 AS age Betty AS name 假设我只想在 用户 计数 gt 2 时合并第二个语句 否则不合并两者 总之
  • 从一个sql服务器选择到另一个sql服务器?

    我想将一台服务器 Data Old S1 中的一个表 T1 在 DB1 中 中的数据选择到另一台服务器 Data Latest S2 中的另一个表 T2 在 DB2 中 中的数据 我怎样才能做到这一点 请注意服务器的命名方式 查询也应该考虑

随机推荐

  • 如何使用Python字典? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我发现在 python 中迭代字典很困难 我已经通过 CodeAcademy 完成了学习并独立学习 但仍然觉得翻字典很困难 除了 Python 官方
  • java.io.IOException:参数无效

    我有一个带有负载均衡器的以集群模式运行的 Web 应用程序 它由两个 Tomcat T1 和 T2 组成 仅寻址一个 DB T2 通过 nfs 安装到 T1 这是两个节点之间唯一的差异 我有一个生成一些文件的java方法 如果请求 在 T1
  • 无法设置音量,音量控制未转发到系统

    我尝试使用安卓MediaPlayer框架来发挥mp3 file 看到这个问题 在我设法使其工作后 我很快意识到 音量增大 减小事件被类捕获javafxports android KeyEventProcessor并且永远不会被转发 我试图规
  • 计算特定撞击角度的 box2d 冲量

    我有一个球 圆形的动态物体 它在重力条件下作用在表面 蹦床 上 当球撞击蹦床 图中从 A 点到 B 点绘制 时 我想向球施加一个脉冲 垂直于蹦床表面 问题是现在我使用 b2Vec2 impulse b2Vec2 0 self fullMas
  • Google 地图 API + Google 地图引擎/我的地图

    我已经使用 Google 地图引擎将带有图层和形状的自定义地图嵌入到我的网页中 但它即将停止使用 替代品是 Google 我的地图 它很轻量 但似乎可以满足我的需求 现在回答我的问题 我正在使用 Google 地图 API 在我的网页上显示
  • 检测文档就绪时自动填充的值

    我有一个登录页面 我试图在其中切换按钮的显示以允许用户修改其角色 从用户的可用角色列表中选择 我最初隐藏按钮并显示它 txtUsername blur 我的问题 有没有办法获取 Chrome 自动填充值 如果我尝试在文档准备好时触发它 则该
  • 从应用程序资源保存到 SD 卡的图像编号

    我的应用程序由天列表视图组成 每天都有其特定的图像放置在无限的图库类中 我想做的是 将具有序列号的图像从应用程序可绘制资源 无限图库类 保存到 SD 卡 我试图获取保存图像的顺序号 如下所示 第一张图片 Image 1 png 第二张图片
  • 键入 ruby​​ 新哈希值

    Ruby 1 9 2 的新哈希语法有一个奇怪的问题 在 1 9 2 中如何将任何对象作为哈希中的键 在 1 8 7 哈希中它的工作原理 a b a gt some a gt another value a gt 3rd value 但在 1
  • 使用 sklearn RandomizedPCA 处理稀疏矩阵和稠密矩阵时的不同结果

    当我得到不同的结果时Randomized PCA稀疏矩阵和稠密矩阵 import numpy as np import scipy sparse as scsp from sklearn decomposition import Rando
  • 删除所有属性

    是否可以使用 jQuery 一次删除所有属性 img src example jpg width 100 height 100 to img I tried img removeAttr 没有运气 任何人 一个不需要 JQuery 的简单方
  • 创建过多 AVPlayer 实例时出现 AVPlayerItemStatusFailed 错误

    我正在开发一个 iOS 应用程序 它创建用户池提交的所有视频的提要 使用户能够浏览和查看其他人创建的视频 正如您可以想象的那样 我需要能够支持 feed 中任意数量的视频 目前 我正在为每个视频创建并保留一个 AVPlayer 实例 如下所
  • 安装 debug_inspector (0.0.2) 时出错,Bundler 无法继续

    将我的 Rails 应用程序从 3 2 迁移到 4 0 0 并将 ruby 2 2 2 迁移到 2 2 4 在进行捆绑安装时遇到 安装 debug inspector 0 0 2 时发生错误 并且 Bundler 无法继续 问题 使用 ub
  • 自定义ListCellRenderer不会改变背景颜色

    我有这门课 SuppressWarnings serial private class DataCellRenderer extends JLabel implements ListCellRenderer public DataCellR
  • 为什么 String.intern() 在 Oracle JDK 1.7 中的行为不同?

    这是一个java片段 public class TestIntern public static void main String argvs String s1 new StringBuilder ja append va toStrin
  • 使用 Delphi 2007 将 Base64 字符串作为二进制文件保存到磁盘

    我有一个 Base64 二进制字符串 它是由第 3 方供应商发送给我们的 XML 文档的一部分 我希望能够将其保存回其原始文件格式 jpg 使用此问题中接受的答案 使用 php 将 Base64 字符串作为二进制文件保存到磁盘 我可以轻松地
  • 是否可以被动安装 .EXE 但仍使用 Powershell 显示 GUI?

    正如标题所说 是否可以使用 Powershell 被动 静默安装 EXE 但仍然显示安装程序 GUI 我希望下一个自动 单击 但仍然希望 GUI 显示为进度指示器 UPDATE 有一个用于 Windows Installer 的 Power
  • jQuery 通过 XPath 选择元素

    我有一个 XPath 选择器 如何使用 jQuery 获取与该选择器匹配的元素 我见过https developer mozilla org en Introduction to using XPath in JavaScript但它没有使
  • VS Code Markdown - 有没有一种聪明的方法来使链接智能感知?

    我开始使用 VisualStudio Code 和 Markdown 作为笔记工具 类似于泽特卡斯滕 作为此笔记系统的一部分 笔记应始终链接到其他笔记 文件 作为正在恢复的开发人员 我开始写 决策技术 当我输入 然后按 ctrl space
  • 将 2d 数组转换为 1d PHP

    我有一个数组 下面的示例 其中包含 3 个内容非常相似的数组 我想知道是否有一种简单的方法可以将所有内容放入一个数组中 而不是 3 个单独的数组中 我尝试的所有操作似乎都只是覆盖数据 而我只留下了第三个数组中的信息 array 0 gt a
  • 每个产品返回一个 SQL 行,其中包含价格和最新日期

    我不是一个 SQL 专家 我过去使用过它 很少遇到 google 无法解决的问题 但是这次我需要询问社区 我有一个数据库 其中有一个名为 交易 的表 它的数据如下 ProdNo Price TransactionDate Purchased