【发布时间】:2014-10-31 19:34:39
【问题描述】:
早上好,
我正在编写一个 SQL 查询,查询最新的金属价格以及它们被放入数据库的最新日期。下表示例:
ID Date Created
1 01/01/01 01:01
2 01/01/01 01:02
3 01/01/01 01:03
4 01/01/01 01:04
1 02/01/01 01:01
2 02/01/01 01:02
因此,我想要以下结果:
ID Date Created
1 02/01/01 01:01
2 02/01/01 01:02
当我运行以下查询时,它只是给了我最后一个输入日期库的查询,因此从上面的示例中它将是 ID 2 DateCreated 02/01/01 01:02。我正在使用的查询如下:
SELECT mp.MetalSourceID, ROUND(mp.PriceInPounds,2),
mp.UnitPrice, mp.HighUnitPrice, mp.PreviousUnitPrice,
mp.PreviousHighUnitPrice, ms.MetalSourceName,
ms.UnitBasis, cu.Currency
FROM tblMetalPrice AS mp
INNER JOIN tblMetalSource AS ms
ON tblMetalPrice.MetalSourceID = tblMetalSource.MetalSourceID
INNER JOIN tblCurrency AS cu
ON tblMetalSource.CurrencyID = tblCurrency.CurrencyID
WHERE DateCreated = (SELECT MAX (DateCreated) FROM tblMetalPrice)
GROUP BY mp.MetalSourceID;
任何人都可以帮助它让我发疯不知道这个星期五早上我的大脑已经死了。
谢谢
【问题讨论】:
-
查看 DBA.StackExchange 上的问题:dba.stackexchange.com/questions/1002/how-to-get-the-max-row
标签: sql sql-server tsql