Guest User

Untitled

a guest
Feb 17th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. CREATE TABLE `measurements` (
  2. `row_id` int(11) NOT NULL AUTO_INCREMENT,
  3. `process_name` varchar(100) COLLATE utf8_bin NOT NULL,
  4. `process_id` int(11) NOT NULL,
  5. `process_group_id` tinyint(4) NOT NULL,
  6. `measurement_1` float NOT NULL,
  7. `measurement_2` float NOT NULL,
  8. `measurement_3` float NOT NULL,
  9. `measurement_4` float NOT NULL,
  10. `start_timestamp` int(11) NOT NULL,
  11. `end_timestamp` int(11) NOT NULL,
  12. PRIMARY KEY (`row_id`),
  13. KEY `process_group_id` (`process_group_id`,`start_timestamp`,`end_timestamp`),
  14. KEY `process_id` (`process_id`)
  15. ) ENGINE=InnoDB AUTO_INCREMENT=7294932 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
  16.  
  17. SELECT SUM(measurement_1), SUM(measurement_2), SUM(measurement_3),
  18. SUM(measurement_4)
  19. FROM measurements
  20. WHERE process_group_id = 5
  21. AND 1431388800 BETWEEN start_timestamp AND end_timestamp
  22.  
  23. SELECT process_group_id, SUM(measurement_1), SUM(measurement_2),
  24. SUM(measurement_3), SUM(measurement_4)
  25. FROM measurements
  26. WHERE process_group_id = 5
  27. AND 1431388800 BETWEEN start_timestamp AND end_timestamp
  28. ORDER BY process_group_id ASC
  29.  
  30. AND 1431388800 BETWEEN start_timestamp AND end_timestamp
  31.  
  32. AND start_timestamp <= 1431388800
  33. AND end_timestamp >= 1431388800
  34.  
  35. CREATE TABLE ByMinute (
  36. process_group_id ...
  37. ts TIMESTAMP NOT NULL, -- rounded to the minute
  38. sum_1 FLOAT -- see below
  39. sum_2 ...,
  40. PRIMARY KEY(process_group_id, ts)
  41. );
  42.  
  43. SELECT sum_1, sum_2, sum_3, sum_4
  44. FROM ByMinute
  45. WHERE process_group_id = 5
  46. AND ts = somehow round 1431388800 to a minute
Add Comment
Please, Sign In to add comment