我编写了一个查询来取回所有支持票证,但是
RequestID
的行是重复的,我想从创建的日期列中获取最大值。
正在使用的查询:
select *
from [CMSystemScripts].[dbo].[CMS_CMS_and_MandR_Ticketing] Tick
inner join [dbo].[CMS_CMS_and_MandR_Ticketing_Analysis] analysis on tick.requestid = analysis.RequestID
order by 1
我认为也许输入
MAX(*)
会返回所有列的最大值,但我收到错误
消息 102,第 15 级,状态 1,第 30 行
“*”附近的语法不正确
我是否必须列出选择中的列才能获得最大值,还是有其他方法可以实现此目的?
我希望看到每个
RequestID
都有一条记录,其中包含创建日期列上的最大日期。
如有任何帮助,我们将不胜感激。
谢谢!
您可以使用“order by”和“group by”运算符来定义行的排序和分组:您可以按照如下示例进行操作:
SELECT tick.requestId, analysis.[yourDateCol]
FROM ...
INNER ...
GROUP BY analysis.[yourDateCol]
ORDER BY analysis.[yourDateCol] desc