我有一个表,记录链接到父项的子项的历史记录,有两列:
一些示例数据如下所示:
ParentId - ChildId
001 - 001
001 - 001
001 - 001
001 - 002
001 - 002
001 - 002
001 - 003
001 - 003
001 - 003
001 - 003
001 - 004
001 - - 004
001 - 005
001 - 005
001 - 005
001 - 005
我需要为给定的ParentId选择具有最高值ChildId的所有行.所以在上面的例子中,我需要查询返回以下行,给定输入参数'@ parentId = 001':
001 - 005
001 - 005
001 - 005
001 - 005
谢谢你的帮助!
这要做到这一点:
SELECT * FROM MyTable
WHERE parentId = '001'
AND childId = (SELECT MAX(childId) FROM MyTable WHERE parentId = '001')
Run Code Online (Sandbox Code Playgroud)