【发布时间】:2015-03-26 16:56:32
【问题描述】:
我有很多很多表(具有相同的设计,每个表相当于一天),其中包含时间戳值,我需要提取每隔 15 分钟出现一次的值,以便可以将它们导出为 CSV。有没有办法遍历记录,迭代 where 子句,并将它们插入到一个临时表中?
这是我目前正在使用的:
(SELECT dtProcessedUTC, binData
FROM `timecull_010109`
where TIME(dtProcessedUTC) BETWEEN '00:00:00' AND '00:00:59'
OR TIME(dtProcessedUTC) BETWEEN '00:15:00' AND '00:15:59'
OR TIME(dtProcessedUTC) BETWEEN '00:30:00' AND '00:30:59'
OR TIME(dtProcessedUTC) BETWEEN '00:45:00' AND '00:45:59'
OR TIME(dtProcessedUTC) BETWEEN '01:00:00' AND '01:00:59'
OR TIME(dtProcessedUTC) BETWEEN '01:15:00' AND '01:15:59'
OR TIME(dtProcessedUTC) BETWEEN '01:30:00' AND '01:30:59'
OR TIME(dtProcessedUTC) BETWEEN '01:45:00' AND '01:45:59'
OR TIME(dtProcessedUTC) BETWEEN '02:00:00' AND '02:00:59'
OR TIME(dtProcessedUTC) BETWEEN '02:15:00' AND '02:15:59'
OR TIME(dtProcessedUTC) BETWEEN '02:30:00' AND '02:30:59'
OR TIME(dtProcessedUTC) BETWEEN '02:45:00' AND '02:45:59'
OR TIME(dtProcessedUTC) BETWEEN '03:00:00' AND '03:00:59'
OR TIME(dtProcessedUTC) BETWEEN '03:15:00' AND '03:15:59'
OR TIME(dtProcessedUTC) BETWEEN '03:30:00' AND '03:30:59'
OR TIME(dtProcessedUTC) BETWEEN '03:45:00' AND '03:45:59'
OR TIME(dtProcessedUTC) BETWEEN '04:00:00' AND '04:00:59'
OR TIME(dtProcessedUTC) BETWEEN '04:15:00' AND '04:15:59'
OR TIME(dtProcessedUTC) BETWEEN '04:30:00' AND '04:30:59'
OR TIME(dtProcessedUTC) BETWEEN '04:45:00' AND '04:45:59'
OR TIME(dtProcessedUTC) BETWEEN '05:00:00' AND '05:00:59'
OR TIME(dtProcessedUTC) BETWEEN '05:15:00' AND '05:15:59'
OR TIME(dtProcessedUTC) BETWEEN '05:30:00' AND '05:30:59'
OR TIME(dtProcessedUTC) BETWEEN '05:45:00' AND '05:45:59'
OR TIME(dtProcessedUTC) BETWEEN '06:00:00' AND '06:00:59'
OR TIME(dtProcessedUTC) BETWEEN '06:15:00' AND '06:15:59'
OR TIME(dtProcessedUTC) BETWEEN '06:30:00' AND '06:30:59'
OR TIME(dtProcessedUTC) BETWEEN '06:45:00' AND '06:45:59'
OR TIME(dtProcessedUTC) BETWEEN '07:00:00' AND '07:00:59'
OR TIME(dtProcessedUTC) BETWEEN '07:15:00' AND '07:15:59'
OR TIME(dtProcessedUTC) BETWEEN '07:30:00' AND '07:30:59'
OR TIME(dtProcessedUTC) BETWEEN '07:45:00' AND '07:45:59'
OR TIME(dtProcessedUTC) BETWEEN '08:00:00' AND '08:00:59'
OR TIME(dtProcessedUTC) BETWEEN '08:15:00' AND '08:15:59'
OR TIME(dtProcessedUTC) BETWEEN '08:30:00' AND '08:30:59'
OR TIME(dtProcessedUTC) BETWEEN '08:45:00' AND '08:45:59'
OR TIME(dtProcessedUTC) BETWEEN '09:00:00' AND '09:00:59'
OR TIME(dtProcessedUTC) BETWEEN '09:15:00' AND '09:15:59'
OR TIME(dtProcessedUTC) BETWEEN '09:30:00' AND '09:30:59'
OR TIME(dtProcessedUTC) BETWEEN '09:45:00' AND '09:45:59'
OR TIME(dtProcessedUTC) BETWEEN '10:00:00' AND '10:00:59'
OR TIME(dtProcessedUTC) BETWEEN '10:15:00' AND '10:15:59'
OR TIME(dtProcessedUTC) BETWEEN '10:30:00' AND '10:30:59'
OR TIME(dtProcessedUTC) BETWEEN '10:45:00' AND '10:45:59'
OR TIME(dtProcessedUTC) BETWEEN '11:00:00' AND '11:00:59'
OR TIME(dtProcessedUTC) BETWEEN '11:15:00' AND '11:15:59'
OR TIME(dtProcessedUTC) BETWEEN '11:30:00' AND '11:30:59'
OR TIME(dtProcessedUTC) BETWEEN '11:45:00' AND '11:45:59'
OR TIME(dtProcessedUTC) BETWEEN '12:00:00' AND '12:00:59'
OR TIME(dtProcessedUTC) BETWEEN '12:15:00' AND '12:15:59'
OR TIME(dtProcessedUTC) BETWEEN '12:30:00' AND '12:30:59'
OR TIME(dtProcessedUTC) BETWEEN '12:45:00' AND '12:45:59'
OR TIME(dtProcessedUTC) BETWEEN '13:00:00' AND '13:00:59'
OR TIME(dtProcessedUTC) BETWEEN '13:15:00' AND '13:15:59'
OR TIME(dtProcessedUTC) BETWEEN '13:30:00' AND '13:30:59'
OR TIME(dtProcessedUTC) BETWEEN '13:45:00' AND '13:45:59'
OR TIME(dtProcessedUTC) BETWEEN '14:00:00' AND '14:00:59'
OR TIME(dtProcessedUTC) BETWEEN '14:15:00' AND '14:15:59'
OR TIME(dtProcessedUTC) BETWEEN '14:30:00' AND '14:30:59'
OR TIME(dtProcessedUTC) BETWEEN '14:45:00' AND '14:45:59'
OR TIME(dtProcessedUTC) BETWEEN '15:00:00' AND '15:00:59'
OR TIME(dtProcessedUTC) BETWEEN '15:15:00' AND '15:15:59'
OR TIME(dtProcessedUTC) BETWEEN '15:30:00' AND '15:30:59'
OR TIME(dtProcessedUTC) BETWEEN '15:45:00' AND '15:45:59'
OR TIME(dtProcessedUTC) BETWEEN '16:00:00' AND '16:00:59'
OR TIME(dtProcessedUTC) BETWEEN '16:15:00' AND '16:15:59'
OR TIME(dtProcessedUTC) BETWEEN '16:30:00' AND '16:30:59'
OR TIME(dtProcessedUTC) BETWEEN '16:45:00' AND '16:45:59'
OR TIME(dtProcessedUTC) BETWEEN '17:00:00' AND '17:00:59'
OR TIME(dtProcessedUTC) BETWEEN '17:15:00' AND '17:15:59'
OR TIME(dtProcessedUTC) BETWEEN '17:30:00' AND '17:30:59'
OR TIME(dtProcessedUTC) BETWEEN '17:45:00' AND '17:45:59'
OR TIME(dtProcessedUTC) BETWEEN '18:00:00' AND '18:00:59'
OR TIME(dtProcessedUTC) BETWEEN '18:15:00' AND '18:15:59'
OR TIME(dtProcessedUTC) BETWEEN '18:30:00' AND '18:30:59'
OR TIME(dtProcessedUTC) BETWEEN '18:45:00' AND '18:45:59'
OR TIME(dtProcessedUTC) BETWEEN '19:00:00' AND '19:00:59'
OR TIME(dtProcessedUTC) BETWEEN '19:15:00' AND '19:15:59'
OR TIME(dtProcessedUTC) BETWEEN '19:30:00' AND '19:30:59'
OR TIME(dtProcessedUTC) BETWEEN '19:45:00' AND '19:45:59'
OR TIME(dtProcessedUTC) BETWEEN '20:00:00' AND '20:00:59'
OR TIME(dtProcessedUTC) BETWEEN '20:15:00' AND '20:15:59'
OR TIME(dtProcessedUTC) BETWEEN '20:30:00' AND '20:30:59'
OR TIME(dtProcessedUTC) BETWEEN '20:45:00' AND '20:45:59'
OR TIME(dtProcessedUTC) BETWEEN '21:00:00' AND '21:00:59'
OR TIME(dtProcessedUTC) BETWEEN '21:15:00' AND '21:15:59'
OR TIME(dtProcessedUTC) BETWEEN '21:30:00' AND '21:30:59'
OR TIME(dtProcessedUTC) BETWEEN '21:45:00' AND '21:45:59'
OR TIME(dtProcessedUTC) BETWEEN '22:00:00' AND '22:00:59'
OR TIME(dtProcessedUTC) BETWEEN '22:15:00' AND '22:15:59'
OR TIME(dtProcessedUTC) BETWEEN '22:30:00' AND '22:30:59'
OR TIME(dtProcessedUTC) BETWEEN '22:45:00' AND '22:45:59'
OR TIME(dtProcessedUTC) BETWEEN '23:00:00' AND '23:00:59'
OR TIME(dtProcessedUTC) BETWEEN '23:15:00' AND '23:15:59'
OR TIME(dtProcessedUTC) BETWEEN '23:30:00' AND '23:30:59'
OR TIME(dtProcessedUTC) BETWEEN '23:45:00' AND '23:45:59')
UNION
(SELECT dtProcessedUTC, binData
FROM `timecull_010209`
where TIME(dtProcessedUTC) BETWEEN '00:00:00' AND '00:00:59'
OR TIME(dtProcessedUTC) BETWEEN '00:15:00' AND '00:15:59'
OR TIME(dtProcessedUTC) BETWEEN '00:30:00' AND '00:30:59'
OR TIME(dtProcessedUTC) BETWEEN '00:45:00' AND '00:45:59'
OR TIME(dtProcessedUTC) BETWEEN '01:00:00' AND '01:00:59'
OR TIME(dtProcessedUTC) BETWEEN '01:15:00' AND '01:15:59'
OR TIME(dtProcessedUTC) BETWEEN '01:30:00' AND '01:30:59'
OR TIME(dtProcessedUTC) BETWEEN '01:45:00' AND '01:45:59'
OR TIME(dtProcessedUTC) BETWEEN '02:00:00' AND '02:00:59'
OR TIME(dtProcessedUTC) BETWEEN '02:15:00' AND '02:15:59'
OR TIME(dtProcessedUTC) BETWEEN '02:30:00' AND '02:30:59'
OR TIME(dtProcessedUTC) BETWEEN '02:45:00' AND '02:45:59'
OR TIME(dtProcessedUTC) BETWEEN '03:00:00' AND '03:00:59'
OR TIME(dtProcessedUTC) BETWEEN '03:15:00' AND '03:15:59'
OR TIME(dtProcessedUTC) BETWEEN '03:30:00' AND '03:30:59'
OR TIME(dtProcessedUTC) BETWEEN '03:45:00' AND '03:45:59'
OR TIME(dtProcessedUTC) BETWEEN '04:00:00' AND '04:00:59'
OR TIME(dtProcessedUTC) BETWEEN '04:15:00' AND '04:15:59'
OR TIME(dtProcessedUTC) BETWEEN '04:30:00' AND '04:30:59'
OR TIME(dtProcessedUTC) BETWEEN '04:45:00' AND '04:45:59'
OR TIME(dtProcessedUTC) BETWEEN '05:00:00' AND '05:00:59'
OR TIME(dtProcessedUTC) BETWEEN '05:15:00' AND '05:15:59'
OR TIME(dtProcessedUTC) BETWEEN '05:30:00' AND '05:30:59'
OR TIME(dtProcessedUTC) BETWEEN '05:45:00' AND '05:45:59'
OR TIME(dtProcessedUTC) BETWEEN '06:00:00' AND '06:00:59'
OR TIME(dtProcessedUTC) BETWEEN '06:15:00' AND '06:15:59'
OR TIME(dtProcessedUTC) BETWEEN '06:30:00' AND '06:30:59'
OR TIME(dtProcessedUTC) BETWEEN '06:45:00' AND '06:45:59'
OR TIME(dtProcessedUTC) BETWEEN '07:00:00' AND '07:00:59'
OR TIME(dtProcessedUTC) BETWEEN '07:15:00' AND '07:15:59'
OR TIME(dtProcessedUTC) BETWEEN '07:30:00' AND '07:30:59'
OR TIME(dtProcessedUTC) BETWEEN '07:45:00' AND '07:45:59'
OR TIME(dtProcessedUTC) BETWEEN '08:00:00' AND '08:00:59'
OR TIME(dtProcessedUTC) BETWEEN '08:15:00' AND '08:15:59'
OR TIME(dtProcessedUTC) BETWEEN '08:30:00' AND '08:30:59'
OR TIME(dtProcessedUTC) BETWEEN '08:45:00' AND '08:45:59'
OR TIME(dtProcessedUTC) BETWEEN '09:00:00' AND '09:00:59'
OR TIME(dtProcessedUTC) BETWEEN '09:15:00' AND '09:15:59'
OR TIME(dtProcessedUTC) BETWEEN '09:30:00' AND '09:30:59'
OR TIME(dtProcessedUTC) BETWEEN '09:45:00' AND '09:45:59'
OR TIME(dtProcessedUTC) BETWEEN '10:00:00' AND '10:00:59'
OR TIME(dtProcessedUTC) BETWEEN '10:15:00' AND '10:15:59'
OR TIME(dtProcessedUTC) BETWEEN '10:30:00' AND '10:30:59'
OR TIME(dtProcessedUTC) BETWEEN '10:45:00' AND '10:45:59'
OR TIME(dtProcessedUTC) BETWEEN '11:00:00' AND '11:00:59'
OR TIME(dtProcessedUTC) BETWEEN '11:15:00' AND '11:15:59'
OR TIME(dtProcessedUTC) BETWEEN '11:30:00' AND '11:30:59'
OR TIME(dtProcessedUTC) BETWEEN '11:45:00' AND '11:45:59'
OR TIME(dtProcessedUTC) BETWEEN '12:00:00' AND '12:00:59'
OR TIME(dtProcessedUTC) BETWEEN '12:15:00' AND '12:15:59'
OR TIME(dtProcessedUTC) BETWEEN '12:30:00' AND '12:30:59'
OR TIME(dtProcessedUTC) BETWEEN '12:45:00' AND '12:45:59'
OR TIME(dtProcessedUTC) BETWEEN '13:00:00' AND '13:00:59'
OR TIME(dtProcessedUTC) BETWEEN '13:15:00' AND '13:15:59'
OR TIME(dtProcessedUTC) BETWEEN '13:30:00' AND '13:30:59'
OR TIME(dtProcessedUTC) BETWEEN '13:45:00' AND '13:45:59'
OR TIME(dtProcessedUTC) BETWEEN '14:00:00' AND '14:00:59'
OR TIME(dtProcessedUTC) BETWEEN '14:15:00' AND '14:15:59'
OR TIME(dtProcessedUTC) BETWEEN '14:30:00' AND '14:30:59'
OR TIME(dtProcessedUTC) BETWEEN '14:45:00' AND '14:45:59'
OR TIME(dtProcessedUTC) BETWEEN '15:00:00' AND '15:00:59'
OR TIME(dtProcessedUTC) BETWEEN '15:15:00' AND '15:15:59'
OR TIME(dtProcessedUTC) BETWEEN '15:30:00' AND '15:30:59'
OR TIME(dtProcessedUTC) BETWEEN '15:45:00' AND '15:45:59'
OR TIME(dtProcessedUTC) BETWEEN '16:00:00' AND '16:00:59'
OR TIME(dtProcessedUTC) BETWEEN '16:15:00' AND '16:15:59'
OR TIME(dtProcessedUTC) BETWEEN '16:30:00' AND '16:30:59'
OR TIME(dtProcessedUTC) BETWEEN '16:45:00' AND '16:45:59'
OR TIME(dtProcessedUTC) BETWEEN '17:00:00' AND '17:00:59'
OR TIME(dtProcessedUTC) BETWEEN '17:15:00' AND '17:15:59'
OR TIME(dtProcessedUTC) BETWEEN '17:30:00' AND '17:30:59'
OR TIME(dtProcessedUTC) BETWEEN '17:45:00' AND '17:45:59'
OR TIME(dtProcessedUTC) BETWEEN '18:00:00' AND '18:00:59'
OR TIME(dtProcessedUTC) BETWEEN '18:15:00' AND '18:15:59'
OR TIME(dtProcessedUTC) BETWEEN '18:30:00' AND '18:30:59'
OR TIME(dtProcessedUTC) BETWEEN '18:45:00' AND '18:45:59'
OR TIME(dtProcessedUTC) BETWEEN '19:00:00' AND '19:00:59'
OR TIME(dtProcessedUTC) BETWEEN '19:15:00' AND '19:15:59'
OR TIME(dtProcessedUTC) BETWEEN '19:30:00' AND '19:30:59'
OR TIME(dtProcessedUTC) BETWEEN '19:45:00' AND '19:45:59'
OR TIME(dtProcessedUTC) BETWEEN '20:00:00' AND '20:00:59'
OR TIME(dtProcessedUTC) BETWEEN '20:15:00' AND '20:15:59'
OR TIME(dtProcessedUTC) BETWEEN '20:30:00' AND '20:30:59'
OR TIME(dtProcessedUTC) BETWEEN '20:45:00' AND '20:45:59'
OR TIME(dtProcessedUTC) BETWEEN '21:00:00' AND '21:00:59'
OR TIME(dtProcessedUTC) BETWEEN '21:15:00' AND '21:15:59'
OR TIME(dtProcessedUTC) BETWEEN '21:30:00' AND '21:30:59'
OR TIME(dtProcessedUTC) BETWEEN '21:45:00' AND '21:45:59'
OR TIME(dtProcessedUTC) BETWEEN '22:00:00' AND '22:00:59'
OR TIME(dtProcessedUTC) BETWEEN '22:15:00' AND '22:15:59'
OR TIME(dtProcessedUTC) BETWEEN '22:30:00' AND '22:30:59'
OR TIME(dtProcessedUTC) BETWEEN '22:45:00' AND '22:45:59'
OR TIME(dtProcessedUTC) BETWEEN '23:00:00' AND '23:00:59'
OR TIME(dtProcessedUTC) BETWEEN '23:15:00' AND '23:15:59'
OR TIME(dtProcessedUTC) BETWEEN '23:30:00' AND '23:30:59'
OR TIME(dtProcessedUTC) BETWEEN '23:45:00' AND '23:45:59')
UNION
(SELECT dtProcessedUTC, binData
FROM `timecull_010309`
...
【问题讨论】:
-
每天有单独的表格是相当糟糕的设计......也许你应该考虑partitioning?
-
@eggyal 我同意。这是一个遗留数据库。关于 Mike 的查询解决方案,有没有办法从查询中自动导出到 CSV,这样我就可以遍历日期并每天制作一个?我知道这是一个糟糕的设计,但我们还没有资源和时间来替换它。
标签: mysql sql mysql-workbench