Guest User

Untitled

a guest
Dec 15th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. CREATE TABLE `track_conversion` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `impression_id` int(11) NOT NULL,
  4. `earned` decimal(10,2) NOT NULL,
  5. `created_at` datetime NOT NULL,
  6. PRIMARY KEY (`id`),
  7. UNIQUE KEY `UNIQ_740A9EFA3BA46B6` (`impression_id`),
  8. KEY `conversion_created_at_idx` (`created_at`),
  9. KEY `conversion_created_at_earned_idx` (`created_at`, `earned`),
  10. CONSTRAINT `track_conversion_ibfk_1` FOREIGN KEY (`impression_id`) REFERENCES `track_impression` (`id`) ON DELETE CASCADE
  11. ) ENGINE=InnoDB AUTO_INCREMENT=118011 DEFAULT CHARSET=latin1;
  12.  
  13.  
  14. CREATE TABLE `track_impression` (
  15. `id` int(11) NOT NULL AUTO_INCREMENT,
  16. `path_id` int(11) NOT NULL,
  17. `offer_id` int(11) NOT NULL,
  18. `creative_id` int(11) NOT NULL,
  19. `visitor_id` bigint(20) DEFAULT NULL,
  20. `path_position` int(11) NOT NULL,
  21. `clicked` tinyint(1) NOT NULL,
  22. `clicked_at` datetime DEFAULT NULL,
  23. `hash` varchar(32) NOT NULL,
  24. `user_hash` varchar(32) NOT NULL,
  25. `created_at` datetime NOT NULL,
  26. PRIMARY KEY (`id`),
  27. KEY `IDX_9E8A3F1AD96C566B` (`path_id`),
  28. KEY `IDX_9E8A3F1A53C674EE` (`offer_id`),
  29. KEY `IDX_9E8A3F1A8E0ED468` (`creative_id`),
  30. KEY `IDX_9E8A3F1A70BEE6D` (`visitor_id`),
  31. KEY `hash` (`hash`),
  32. KEY `track_created_at_path_offer_clicked_user_hash_idx` (`created_at`,`path_id`,`offer_id`,`clicked`,`user_hash`),
  33. CONSTRAINT `track_impression_ibfk_2` FOREIGN KEY (`path_id`) REFERENCES `path` (`id`) ON DELETE CASCADE,
  34. CONSTRAINT `track_impression_ibfk_3` FOREIGN KEY (`offer_id`) REFERENCES `offer` (`id`) ON DELETE CASCADE,
  35. CONSTRAINT `track_impression_ibfk_4` FOREIGN KEY (`creative_id`) REFERENCES `creative` (`id`) ON DELETE CASCADE,
  36. CONSTRAINT `track_impression_ibfk_5` FOREIGN KEY (`visitor_id`) REFERENCES `visitor` (`id`) ON DELETE CASCADE
  37. ) ENGINE=InnoDB AUTO_INCREMENT=983044 DEFAULT CHARSET=latin1;
  38.  
  39.  
  40. # QUERY
  41.  
  42. SELECT p.name path_name,
  43. i.path_id,
  44. o.name offer_name,
  45. i.offer_id,
  46. i.path_position,
  47. SUM(i.clicked) click_count,
  48. COUNT(DISTINCT i.user_hash) user_count,
  49. COUNT(i.id) impression_count,
  50. COUNT(c.id) conversion_count,
  51. SUM(c.earned) revenue
  52. FROM track_impression i
  53. LEFT JOIN track_conversion c
  54. ON c.impression_id = i.id
  55. LEFT JOIN path p
  56. ON p.id = i.path_id
  57. LEFT JOIN offer o
  58. ON o.id = i.offer_id
  59. WHERE i.created_at BETWEEN '2011-09-12 07:00:00' AND '2011-09-13 07:00:00'
  60. GROUP BY i.path_id,
  61. i.offer_id;
  62.  
  63.  
  64. # EXPLAIN
  65.  
  66. # id select_type table type possible_keys key key_len ref rows Extra
  67. # 1 SIMPLE i ALL track_created_at_p.. NULL NULL NULL 983169 Using where; Using filesort
  68. # 1 SIMPLE c eq_ref UNIQ_740A9EFA3BA46B6 UNIQ_740A9EFA3BA46B6 4 dealfuse_pms.i.id 1
  69. # 1 SIMPLE p eq_ref PRIMARY PRIMARY 4 dealfuse_pms.i.path_id 1
  70. # 1 SIMPLE o eq_ref PRIMARY PRIMARY 4 dealfuse_pms.i.offer_id 1
Add Comment
Please, Sign In to add comment