Guest User

Untitled

a guest
Jun 24th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. visit_id visit_date hosts views
  2. 1 2016-08-16 12 45
  3. 2 2016-08-01 10 95
  4. 3 2016-08-04 24 56
  5. 4 2016-08-17 45 134
  6.  
  7. CREATE TEMPORARY TABLE last_days (
  8. day INT
  9. );
  10. INSERT INTO last_days
  11. VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9), (10),
  12. (11), (12), (13), (14), (15), (16), (17), (18), (19), (20),
  13. (21), (22), (23), (24), (25), (26), (27), (28), (29);
  14.  
  15. SELECT
  16. DATE(NOW() - INTERVAL l.day DAY) AS day
  17. FROM
  18. last_days AS l;
  19.  
  20. CREATE TABLE visits (
  21. visit_id INT,
  22. visit_date DATE,
  23. hosts INT,
  24. views INT
  25. );
  26.  
  27. INSERT INTO visits
  28. VALUES
  29. (1, '2016-08-16', 12, 45),
  30. (2, '2016-08-01', 10, 95),
  31. (3, '2016-08-04', 24, 56),
  32. (4, '2016-08-17', 45, 134);
  33.  
  34. SELECT
  35. DATE(NOW() - INTERVAL l.day DAY) AS day,
  36. COALESCE(SUM(v.hosts), 0) AS hosts,
  37. COALESCE(SUM(v.views), 0) AS views
  38. FROM
  39. last_days AS l
  40. LEFT JOIN
  41. visits AS v
  42. ON
  43. DATE(NOW() - INTERVAL l.day DAY) = v.visit_date
  44. GROUP BY
  45. DATE(NOW() - INTERVAL l.day DAY);
  46. +------------+-------+-------+
  47. | day | hosts | views |
  48. +------------+-------+-------+
  49. | 2016-07-19 | 0 | 0 |
  50. ...
  51. | 2016-08-01 | 10 | 95 |
  52. | 2016-08-02 | 0 | 0 |
  53. | 2016-08-03 | 0 | 0 |
  54. | 2016-08-04 | 24 | 56 |
  55. | 2016-08-05 | 0 | 0 |
  56. | 2016-08-06 | 0 | 0 |
  57. | 2016-08-07 | 0 | 0 |
  58. | 2016-08-08 | 0 | 0 |
  59. | 2016-08-09 | 0 | 0 |
  60. | 2016-08-10 | 0 | 0 |
  61. | 2016-08-11 | 0 | 0 |
  62. | 2016-08-12 | 0 | 0 |
  63. | 2016-08-13 | 0 | 0 |
  64. | 2016-08-14 | 0 | 0 |
  65. | 2016-08-15 | 0 | 0 |
  66. | 2016-08-16 | 12 | 45 |
  67. | 2016-08-17 | 45 | 134 |
  68. +------------+-------+-------+
Add Comment
Please, Sign In to add comment