同じテーブルからすべてのサブクエリを取得していますが、a
列からの情報が必要です。b.7dayclicks
c.7dayclicks
d.14dayclicks
クエリは次のようになります。
select
a.higher_tier_id,
a.lower_tier_id,
b.7dayclicks,
c.7dayclicks,
d.14dayclicks
from
a,
(select higher_tier_id, 7dayclicks
from a
where day >= curdate() - 7
group by higher_tier_id) b,
(select lower_tier_id, 7dayclicks
from a where day >= curdate() - 7
group by lower_tier_id) c,
(select lower_tier_id, 14dayclicks
from a where day >= curdate() - 14
group by lower_tier_id) d
where
day >= curdate() - 3
and a.higher_tier_id = b.higher_tier_id
and a.lower_tier_id = c.lower_tier_id
and a.lower_tier_id = d.lower_tier_id
その結果、実行に非常に長い時間がかかります。効率化を図っています。どんな助けでも大歓迎です。
- 1列目はhigher_idを示します
- 2列目はlower_idを示します
- 3 列目は、higher_id レベルで並べ替えられた 7 日間のクリック数を示します
- 4 列目は、lower_id レベルで並べ替えられた 7 日間のクリック数を示します
- 5 列目は、lower_id レベルで並べ替えられた 14 日間のクリック数を示します
結合せずにすべてをまとめる方法は間違いなくあると思いますが、方法がわかりません..