我有一个具有相同唯一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新手...... 谢谢你的帮助 -
答案 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