パネリストニック:
私は、MySQLでの2つのテーブルを持っています:
emails_sent(
id int primary key,
id_type int,
date_sent datetime)
emails_clicks(
id int primary key,
id_email int,
date_click datetime,
foreign key(id_email) references emails_sent(id))
私は、ユーザーが電子メールを受信した後、後に10分以上クリックされた電子メールの割合を、返されたクエリを、書きたいです。電子メール(ID_TYPE)の各タイプによってグループ化されました。これどうやってするの?
GMB:
あなたは条件付き平均を行うことができます。
MySQLでは、それは次のようになります。
select s.id_type, avg(c.date_click < s.date_sent + interval 10 minute) res
from email_sent s
left join email_clicks c on c.id_email = s.id
group by id_type
各行ごとにemail_sent
、クエリは、対応する行を回復しますemail_clicks
。電子メールは10分、内条件よりもクリックされた場合にはavg()
戻り1
そうでありません、0
。平均はあなたに(0と1の間の小数値として)送信された後、10分以内にクリックされた電子メールの割合を示します。