如何在不列出选择中的所有列的情况下获取最大日期?

问题描述 投票:0回答:1

我编写了一个查询来取回所有支持票证,但是

RequestID
的行是重复的,我想从创建的日期列中获取最大值。

Example of the repeating 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
都有一条记录,其中包含创建日期列上的最大日期。

如有任何帮助,我们将不胜感激。

谢谢!

sql-server max
1个回答
0
投票

您可以使用“order by”和“group by”运算符来定义行的排序和分组:您可以按照如下示例进行操作:

SELECT tick.requestId, analysis.[yourDateCol]
FROM ...
INNER ...
GROUP BY analysis.[yourDateCol]
ORDER BY analysis.[yourDateCol] desc
© www.soinside.com 2019 - 2024. All rights reserved.