我很新手SQL,这个问题让我困惑了。你能帮我解决这个查询吗?
我有以下两个表:
表1:IssueTable
Id | RunId | Value
---
1 | 1 | 10
2 | 1 | 20
3 | 1 | 30
4 | 2 | 40
5 | 2 | 50
6 | 3 | 60
7 | 4 | 70
8 | 5 | 80
9 | 6 | 90
表2:RunTable
RunId | EnvironmentId
---
1 | 1
2 | 3
3 | 1
4 | 2
5 | 4
6 | 2
我需要从RunTable中按EnvironmentId分组,表示最大RunId的IssueTable行。 我需要从表中得到的结果是:
期望结果:
Id | RunId | Value | EnvironmentId
---
4 | 2 | 40 | 3
5 | 2 | 50 | 3
6 | 3 | 60 | 1
8 | 5 | 80 | 4
9 | 6 | 90 | 2
所以,只有每个EnvironmentId从RunTable中具有最新/最高的RunId的行。例如,对于EnvironmentId为“1”,我只想要包含RunId为“3”的行,因为EnvironmentId“1”在RunTable中的最新RunId是“3”。同样,EnvironementId“2”的最近运行是RunId“6”。