sql - 如何从表中返回一个值的 MAX 和 MIN?

标签 sql max min

我想获取最新的成本计算日期和产品的最低成本。

当我使用下面的查询时,它会为我提供每列的最大日期和最小成本。请看下面的截图。

SELECT MAX(CostingDate) AS LatestDate,
MIN(Cost) AS MinPrice,
OutletCode,
ProductID  
FROM AccountsCosting
WHERE OutletCode = 'C&T01'
GROUP BY OutletCode, ProductID

结果:

enter image description here

例如 - 产品 ID:200006

SELECT * FROM AccountsCosting
WHERE ProductID = 200006 AND OutletCode = 'C&T01'
ORDER BY CostingDate DESC

enter image description here

我想要的是成本最低的最后一个成本核算日期(我用红色突出显示的那个)。即使购买日期相同2013-03-20,也应该返回最低费用。

enter image description here

如何编辑我的查询以获得结果?任何帮助将不胜感激!

最佳答案

首先您需要获取最新日期,然后您可以找到他们的最低费用。例如

 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/

相关文章:

sql - 如何有效使用min()和max()?

c# - GroupBy 从 IEnumerable 对象列表中删除重复项

c# - 如果我在我的应用程序中使用它,是否必须安装 SQL Server?

sql - 为跨架构的角色重新生成 GRANT

algorithm - 在数组中找到最小值所需的赋值次数?

c++ - 在 std::vector of std::pair 中查找最小值和最大值

ios - 有没有一种方法可以获取 NSMutableArray 的最大值和最小值

sql - 指定 SELECT * 时出现传输级错误

python - 在字典中查找 X 和 Y 的最大和最小坐标

arrays - 如何找到字符串数组中的最小元素,但只考虑整数?