我有一个如下所示的数据库表:
| ID | TITLE | VERSION |
| 1 | file1 | 1 |
| 2 | file2 | 1 |
| 3 | file1 | 2 |
| 4 | file2 | 2 |
我需要一个返回第 3 行和第 4 行的 SQL 查询,因为它们是 file1 和 file 2 的最新版本。
如果我在如下所示的表上运行查询:
| ID | TITLE | VERSION |
| 1 | file1 | 1 |
| 2 | file2 | 1 |
| 3 | file1 | 2 |
| 4 | file2 | 2 |
| 5 | file3 | 1 |
它应该返回第 3,4 和 5 行,因为“file3”version1 是 file3 的最新版本。
我知道我需要在 SQL 中使用“MAX”函数,但是我被“GROUP BY”关键字抛弃了。我不是很熟悉如何使用它。
将不胜感激所有/任何建议!
我们正在使用 Oracle 11g。