1

我有一个查询,我需要MIN一个 DateTime 字段,然后我需要同一行中相应字段的值。

现在,我有这样的东西,但是如果不将它也放在一个聚合子句中,我就无法获得Price字段,这不是我想要的。

SELECT MIN([Registration Time]), Price FROM MyData WHERE [Product Series] = 'XXXXX'

我需要该MIN字段Registration Time,然后我只想要该Price行的相应字段,但是我该如何显示呢?

我也需要我的WHERE子句,如图所示。

我确定我忽略了一些非常明显的事情。使用 SQL Server 2008

4

1 回答 1

4

如果你只想要一条记录[Registration Time], Price,它就像这样简单:

select top 1 [Registration Time], Price
from MyData
where [Product Series] = 'XXXXX'
order by [Registration Time]

如果您想要all的最小值[Registration Time]和对应值,那么有几种方法,例如,使用 row_number() 函数:Price[Product Series]

with cte as (
    select
        [Registration Time], Price,
        row_number() over(partition by [Product Series] order by [Registration Time]) as rn
    from MyData
)
select
    [Registration Time], Price, [Product Series]
where rn = 1
于 2013-11-07T12:22:44.277 回答