如何获取 SQL 中对象的所有版本和最新迭代

how to get all version and latest iteration of object in the SQL

我对 SQL 很陌生...

我在 table 中有如下数据,名为 versioniteration。我想在 SQL (oracle) 中构建一个查询以获取第二个 table 中的结果。请指导我如何操作?

这里的部分在给定的版本中被修改了很多次,每次修改都会增加迭代次数。

零件也可以更改为新版本,然后将分配迭代(编号)。

| Name          | Version       | Iteration  |
|===============|===============|============|
| Part 1        |      A        |    1       |
|:------------------------------------------:|
| Part 1        |      A        |    2       |
|:------------------------------------------:|
| Part 1        |      A        |    3       |
|:------------------------------------------:|
| Part 1        |      B        |    0       |
|:------------------------------------------:|
| Part 1        |      B        |    1       |
|:------------------------------------------:|
| Part 1        |      B        |    2       |
|:------------------------------------------:|
| Part 2        |      D        |    1       |
|:------------------------------------------:|
| Part 2        |      D        |    2       |
|:------------------------------------------:|
| Part 2        |      D        |    3       |
|:------------------------------------------:|
| Part 2        |      C        |    0       |
|:------------------------------------------:|
| Part 2        |      C        |    1       |
|:------------------------------------------:|
| Part 2        |      C        |    2       |
|:------------------------------------------:|

输出应该是:

| Name          | Version       | Iteration  |
|===============|===============|============|
| Part 1        |      A        |    3       |
|:------------------------------------------:|
| Part 1        |      B        |    2       |
|:------------------------------------------:|
| Part 2        |      C        |    2       |
|:------------------------------------------:|
| Part 2        |      D        |    3       |
|:------------------------------------------:|

如何说戈登·利诺夫是基本的group by查询。您应该了解如何分组并添加其他功能以进行查询。比如你的任务是group by+MAX。也看看这个question.

您的查询:

SELECT name
     , version
     , MAX(iteration)
FROM table1
GROUP BY name, version