Advertisement
TDCustmerSupportJP

Untitled

Aug 6th, 2017
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.20 KB | None | 0 0
  1. SELECT goods_id1, goods_id2, cnt, total_cnt1, total_cnt2
  2. FROM
  3. (
  4.   SELECT t1.goods_id AS goods_id1, t2.goods_id AS goods_id2, COUNT(1) AS cnt
  5.   FROM
  6.   (
  7.     SELECT member_id, goods_id, time
  8.     FROM sales_slip
  9.     WHERE TD_TIME_RANGE(time, '2013-12-17', '2013-12-18', 'JST')
  10.     GROUP BY member_id, goods_id, time -- 同member_id,同timeの重複購入を排除 --
  11.   ) t1,
  12.   (
  13.     SELECT member_id, goods_id, time
  14.     FROM sales_slip
  15.     WHERE TD_TIME_RANGE(time, '2013-12-17', '2013-12-18', 'JST')
  16.     GROUP BY member_id, goods_id, time -- 同member_id,同timeの重複購入を排除 --
  17.   ) t2
  18.   WHERE t1.member_id = t2.member_id
  19.   AND t1.time = t2.time
  20.   AND t1.goods_id < t2.goods_id
  21.   GROUP BY t1.goods_id, t2.goods_id
  22. ) basket
  23. JOIN
  24. (
  25.   SELECT goods_id, COUNT(DISTINCT(member_id, time)) AS total_cnt1
  26.   FROM sales_slip
  27.   WHERE TD_TIME_RANGE(time, '2013-12-17', '2013-12-18', 'JST')
  28.   GROUP BY goods_id
  29. ) item1
  30. ON basket.goods_id1 = item1.goods_id
  31. JOIN
  32. (
  33.   SELECT goods_id, COUNT(DISTINCT(member_id, time)) AS total_cnt2
  34.   FROM sales_slip
  35.   WHERE TD_TIME_RANGE(time, '2013-12-17', '2013-12-18', 'JST')
  36.   GROUP BY goods_id
  37. ) item2
  38. ON basket.goods_id2 = item2.goods_id
  39. ORDER BY cnt DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement