我有一个查询,我需要DateTime字段的MIN
,然后我需要同一行中相应字段的值。
现在,我有类似的东西,但是我不能将Price
字段放在聚合子句中,这不是我想要的。
SELECT MIN([Registration Time]), Price FROM MyData WHERE [Product Series] = 'XXXXX'
我需要MIN
字段的Registration Time
,然后我只想要该行的相应Price
字段,但我该如何显示?
我还需要我的WHERE
子句,如图所示。
我确信我忽略了一些非常明显的事情。使用SQL Server 2008
答案 0 :(得分:4)
如果您只想要一条[Registration Time], Price
的记录,那就像这样简单:
select top 1 [Registration Time], Price
from MyData
where [Product Series] = 'XXXXX'
order by [Registration Time]
如果您想要所有[Registration Time]
的最小Price
和相应的[Product Series]
,那么有一些方法,例如,使用row_number()函数:
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