找到日期/最大日期字段

时间:2016-10-10 17:10:18

标签: sql sql-server-2008

我有一个具有相同唯一ID的多个日期的数据库。我试图找到每个唯一ID的第一个(最小)和最后一个(最大)日期。我希望结果如下: 唯一ID,第一个日期,最后日期,字段1,字段2,字段3

Select  max(date_Executed) as Last_Date,
    (select unique_ID, MIN(date_Executed)as First_Date
from Table_X
group by unique_ID, Field1, field2,field3
)
from Table_X
where unique_ID = unique_ID
group by unique_ID, Field1, field2,field3
order by unique_ID,First_Permit_Date

我得到的错误信息是:

  

当EXISTS未引入子查询时,只能在选择列表中指定一个表达式。   Msg 207,Level 16,State 1,Line 19   列名称“First_Permit_Date”无效。

我是SQL新手...... 谢谢你的帮助 -

2 个答案:

答案 0 :(得分:4)

为什么不通过

分组进行简单的选择
Select  max(date_Executed) as Last_Date, MIN(date_Executed) as First_Date
from Table_X
group by unique_ID, Field1, field2,field3
order by unique_ID,First_Permit_Date

您可以在select ..(使用相同的group by子句)

中使用多个聚合函数

答案 1 :(得分:0)

难道不应该是这样的吗? 我对您的表格没有进一步的了解,但第二个选择'声明似乎导致错误。

SELECT unique_ID, min(date_Executed) as First_Date, max(date_Executed) as Last_Date, field1, field2, field3

FROM Table_X
GROUP BY unique_ID, Field1, field2, field3
order by unique_ID, First_Permit_Date