当前位置: 首页 > 面试题库 >

按sku分组,最大日期为SQL

赵高雅
2023-03-14
问题内容

我知道这在这里被问了很多,而且我尝试使用其他示例并入我自己的示例,但是我似乎无法完成这项工作。

我有sku,日期和费用列,我想查看所有3列,但仅按最大日期(按sku分组)查看。目前:

Sku   Date     Cost
1     06/24/15 .01
1     02/22/14 .02
2     06/24/15 .04
2     02/22/14 .05

需要:

Sku   Date     Cost
1     06/24/15 .01
2     06/24/15 .04

这是我的SQL的样子:

SELECT dbo_SKU.PROD_CODE AS Sku, dbo_LOTS.REC_DATE AS [Last Date], 
   dbo_LOT_ITEM.COST AS Cost
FROM (dbo_LOTS INNER JOIN dbo_SKU ON dbo_LOTS.SKU_ID = dbo_SKU.SKU_ID) 
INNER JOIN dbo_LOT_ITEM ON dbo_LOTS.LOT_ID = dbo_LOT_ITEM.LOT_ID;

这是设计视图的外观(我更是一个视觉化的人): 设计视图

这是第二周的自学,如何操作Access以及它如何工作,所以如果我们能用蜡笔画出如何正确完成此工作的方法,那就太好了。


问题答案:

您可以添加其他逻辑以获取最后日期。一种方法是在WHERE子句中添加相关的子查询:

SELECT s.PROD_CODE AS Sku, l.REC_DATE AS [Last Date],  li.COST AS Cost
FROM (dbo_LOTS as l INNER JOIN
      dbo_SKU as si
      ON l.SKU_ID = s.SKU_ID
     ) INNER JOIN
     dbo_LOT_ITEM as li
     ON l.LOT_ID = li.LOT_ID
WHERE l.REC_DATE = (SELECT MAX(l2.REC_DATE)
                    FROM dbo_LOTS as l2
                    WHERE l2.SKU_ID = l.SKU_ID
                   );


 类似资料:
  • 问题内容: 在下面的表格中,我需要获取状态日期等于2的最大日期的行 我需要使用此请求获取具有最大日期和按REMUN_ID分组的行 结果 : 我需要调整请求以从此结果中仅获取statut = 2的行 我的目的是获取以下结果,这是第一个查询的子查询,以仅获取具有状态2的子查询。 PS:如果我使用了将从中得到这些结果的子句: 那不是我想要的。 有什么建议?谢谢 问题答案: SQLFiddle:http

  • 我有一个熊猫DataFrame看起来像这样: 我的目标是能够为每个项目计算每个日期之间的价值差异。例如,我想找到A项: 12(32-20,因为最大年份是2012年,最小年份是2010年)和B项:20 (40 - 20,因为最大年份是2019年,最小年份是2016年)。 我使用以下代码获取每个项目的年最大值和年最小值: 然后,我找到每个项目的年份最小值和年份最大值。然而,我坚持做我想要的。

  • 问题内容: 我有以下SQL 输出以下内容: 我正在尝试使用EntityFramework复制该查询的输出。 我有以下工作原理: 但是与原始SQL查询相比,执行时间要长得多。关于如何优化我的方法的任何建议?感觉不对。 问题答案: 如果需要最大值,请使用Linq方法:

  • 感谢所有人!

  • 在SQL中,如何按查询分组获取计数中的最小/最大日期? 查询: --这并没有给出文件的最小和最大接收日期 预期输出...与SourceId、Count、StartDate(最小值)、EndDate(最大值)一起

  • 问题内容: 我有一个像这样的简单模型: 我想输出按月细分: 一个月内有多少笔交易() 合并值() 我不确定最好的攻击方法是什么。我已经看到了一些看上去很吓人的额外选择查询,但我的简单想法是告诉我,最好是迭代数字,从任意开始的年/月开始,一直计数到我达到当月,然后简单地抛出查询该月的过滤条件。更多数据库工作-减轻开发人员压力! 什么对你最有意义?有什么好方法可以拉回快速数据表吗?还是我的肮脏方法可能