获取一组行中最旧的记录

Take oldest record in a set of rows

所以,我有这个问题,我在 table

中有这组记录
TemperatureID CastingID TemperatureDateTime TemperatureValue
1421294 1073513 2021-01-07 11:53:00.000 1648
1421295 1073513 2021-01-07 11:54:00.000 1698
1421326 1073514 2021-01-07 22:00:00.000 1594
1421327 1073514 2021-01-07 22:11:00.000 1609

这重复了很多次。 我的问题是我必须只为每组 CastingID 获取最旧的记录,就像这样:

TemperatureID CastingID TemperatureDateTime TemperatureValue
1421294 1073513 2021-01-07 11:53:00.000 1648
1421326 1073514 2021-01-07 22:00:00.000 1594

我尝试使用 DISTINCT 和 MIN 函数,但我无法获得我想要的结果,你能帮助我或提供一些例子吗?

你可以试试这个,

SELECT * 
FROM (
    SELECT 
        *
        , RANK() OVER (PARTITION BY CastingID ORDER BY TemperatureDateTime ASC) RN
    FROM TABLE_1
) A
WHERE RN = 1;