MySQLの。私は、ユーザーが電子メールを受信した後、後に10分以上クリックされた電子メールの割合を、取得したいです

パネリストニック:

私は、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分以内にクリックされた電子メールの割合を示します。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=408624&siteId=1