我该如何编写这个SQL查询?

Mal*_*ker 1 sql

我有一个表,记录链接到父项的子项的历史记录,有两列:

  • 的ParentId
  • childID的

一些示例数据如下所示:

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

谢谢你的帮助!

Eri*_*lje 5

这要做到这一点:

SELECT * FROM MyTable
WHERE parentId = '001'
AND childId = (SELECT MAX(childId) FROM MyTable WHERE parentId = '001')
Run Code Online (Sandbox Code Playgroud)