本文介绍了如何使用Sql查询获得以下解释的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
亲爱的大家,
我在SQL中有这样的值表
Dear ALL,
I have table with values in sql like this
SID ID Name version
1 1 A 1.0
2 1 B 1.1
3 1 C 1.2
4 2 D 1.0
在这里,我需要选择具有ID和名称的版本的最大值.
我需要基于上表的结果
Here I need to select Max values of version with ID and Name.
I need result based on above table
SID ID Name version
3 1 C 1.2
4 2 D 1.0
如何选择呢?.
在此先感谢..!
How to select this?.
Thanks in Advance..!
推荐答案
with cte(ID,version)
as
(
select distinct ID,max(version) from Table_Name
group by ID
)
select SID,t.ID,Name,t.version from Table_Name t
join cte c on t.version = c.version and t.ID = c.ID
SELECT t1.*
FROM (SELECT *
FROM YourTable) AS t1
RIGHT JOIN (SELECT [ID], MAX([Version]) AS [Version]
FROM YourTable
GROUP BY [ID]) AS t2
ON t1.[ID] = t2.[ID] AND t1.[Version] = t2.[Version]
这篇关于如何使用Sql查询获得以下解释的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!