【发布时间】:2020-11-14 15:07:21
【问题描述】:
我有一张如下所示的表格:
host, job, folder, file, mtime
文件夹名称不是唯一的,对于分布在不同主机上的作业可以相同。我需要选择 max(mtime for a file) 是跨不同主机的所有同名文件夹中的最大值的文件夹。大概我需要这样的东西:
Select (host, folder) pair where tuple (host, job, folder) max(max (file mtime))
示例:
1, j1, f1, e1, 2
2, j1, f1, e2, 0
2, j1, f1, e9, 3
3, j1, f1, e3, 2
1, j2, f2, e4, 3
2, j2, f2, e5, 4
3, j2, f2, e6, 5
1, j3, f3, e7, 6
2, j3, f3, e8, 7
结果是:
2, j1, f1, e9, 3
3, j2, f2, e6, 5
2, j3, f3, e8, 7
桌子很大,所以我试图找出最好的方法来做到这一点。谢谢
【问题讨论】:
-
MySQL 还是 SQLite ?请仅标记您正在使用的一个数据库。
-
其实是Sqlite。为多个标签道歉。 @GMB
标签: sql sqlite subquery max greatest-n-per-group