我有一个例程,每隔几个小时运行一次,并记录用户配置的备份作业。每个作业都会在表中创建一个条目,条目数可以是从 0 到无穷大的任意值(完全取决于用户拥有的作业数)。
在下面的示例中,用户当前配置了三个备份作业,但我使用的 SQL 查询是从一周前的数据提取中提取备份。我不知道如何调整我的查询,以便我只从最近的时间戳中获取条目而不执行 LIMIT(我不能使用 LIMIT,因为我永远不知道将出现的条目数):
SELECT BACKUP_SET_ID, BACKUP_SET_TYPE, Max(SNAPSHOT_TIME) maxTime
FROM TABLE_snapshots_backupsets
WHERE ACCOUNT_ID='6000001'
GROUP BY BACKUP_SET_ID;
输出:
+---------------+----------------------------------+---------------------+
| BACKUP_SET_ID | BACKUP_SET_TYPE | maxTime |
+---------------+----------------------------------+---------------------+
| 1359127993672 | FILE | 2013-02-04 08:00:01 |
| 1359145357475 | FILE | 2013-02-04 08:00:01 |
| 1359145395067 | VMware Virtualization | 2013-02-04 08:00:01 |
| 1359145404910 | Microsoft Windows Virtualization | 2013-01-27 12:00:01 |
+---------------+----------------------------------+---------------------+
4 rows in set (0.00 sec)
因此,在上述情况下,我想要的是查询不提取“Microsoft Windows 虚拟化”条目,因为用户在最近的数据提取中不再配置该条目。它应该只提取具有最新时间戳的条目。
谢谢!