作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想获取最新的成本计算日期和产品的最低成本。
当我使用下面的查询时,它会为我提供每列的最大日期和最小成本。请看下面的截图。
SELECT MAX(CostingDate) AS LatestDate,
MIN(Cost) AS MinPrice,
OutletCode,
ProductID
FROM AccountsCosting
WHERE OutletCode = 'C&T01'
GROUP BY OutletCode, ProductID
结果:
例如 - 产品 ID:200006
SELECT * FROM AccountsCosting
WHERE ProductID = 200006 AND OutletCode = 'C&T01'
ORDER BY CostingDate DESC
我想要的是成本最低的最后一个成本核算日期(我用红色突出显示的那个)。即使购买日期相同2013-03-20
,也应该返回最低费用。
如何编辑我的查询以获得结果?任何帮助将不胜感激!
最佳答案
首先您需要获取最新日期,然后您可以找到他们的最低费用。例如
select
a.OutletCode,
a.ProductID,
LatestDate,
MIN(Cost) AS MinPrice
from
(
SELECT MAX(CostingDate) AS LatestDate,
OutletCode,
ProductID
FROM AccountsCosting
WHERE OutletCode = 'C&T01'
GROUP BY OutletCode, ProductID
) a
left join
FROM AccountsCosting b
on
a.OutletCode=b.OutletCode
and a.ProductID=b.ProductID
and a.LatestDate=b.CostingDate
group by a.OutletCode, a.ProductID, LatestDate
关于sql - 如何从表中返回一个值的 MAX 和 MIN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18206408/
我是一名优秀的程序员,十分优秀!