Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE `measurements` (
- `row_id` int(11) NOT NULL AUTO_INCREMENT,
- `process_name` varchar(100) COLLATE utf8_bin NOT NULL,
- `process_id` int(11) NOT NULL,
- `process_group_id` tinyint(4) NOT NULL,
- `measurement_1` float NOT NULL,
- `measurement_2` float NOT NULL,
- `measurement_3` float NOT NULL,
- `measurement_4` float NOT NULL,
- `start_timestamp` int(11) NOT NULL,
- `end_timestamp` int(11) NOT NULL,
- PRIMARY KEY (`row_id`),
- KEY `process_group_id` (`process_group_id`,`start_timestamp`,`end_timestamp`),
- KEY `process_id` (`process_id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=7294932 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
- SELECT SUM(measurement_1), SUM(measurement_2), SUM(measurement_3),
- SUM(measurement_4)
- FROM measurements
- WHERE process_group_id = 5
- AND 1431388800 BETWEEN start_timestamp AND end_timestamp
- SELECT process_group_id, SUM(measurement_1), SUM(measurement_2),
- SUM(measurement_3), SUM(measurement_4)
- FROM measurements
- WHERE process_group_id = 5
- AND 1431388800 BETWEEN start_timestamp AND end_timestamp
- ORDER BY process_group_id ASC
- AND 1431388800 BETWEEN start_timestamp AND end_timestamp
- AND start_timestamp <= 1431388800
- AND end_timestamp >= 1431388800
- CREATE TABLE ByMinute (
- process_group_id ...
- ts TIMESTAMP NOT NULL, -- rounded to the minute
- sum_1 FLOAT -- see below
- sum_2 ...,
- PRIMARY KEY(process_group_id, ts)
- );
- SELECT sum_1, sum_2, sum_3, sum_4
- FROM ByMinute
- WHERE process_group_id = 5
- AND ts = somehow round 1431388800 to a minute
Add Comment
Please, Sign In to add comment