Mysql中创建逻辑视图的查询应该是什么?
我必须在mysql中编写一个查询。下面是我的ad_显示表Mysql中创建逻辑视图的查询应该是什么?,mysql,Mysql,我必须在mysql中编写一个查询。下面是我的ad_显示表 ad_displaysId | adv_id | campaign_id | adtypeId | clicked(boolean) 我有另一个表名作为广告,它有广告id ad_id | advertisename CampPaignId在此表名中为camp_表 campaign_id | camp_name adtypeId在此表名中作为adtype adtypeId | adtype_name 现在我想创建一个视图,从我的a
ad_displaysId | adv_id | campaign_id | adtypeId | clicked(boolean)
我有另一个表名作为广告,它有广告id
ad_id | advertisename
CampPaignId在此表名中为camp_表
campaign_id | camp_name
adtypeId在此表名中作为adtype
adtypeId | adtype_name
现在我想创建一个视图,从我的ad_显示表中得到这样的结果
advertise_name | camp_name | adtype_name | count_of_clicked | count_of_row
这里
我能提供的额外信息是……在广告显示中,有多个条目具有相同的广告id、相同的营地id、相同的广告类型id和点击的合谋是真还是假
我是mysql的新手。有人能建议我用mysql做这个吗?试试这个:
create view my_ad_view as
select
advertise_name,
camp_name,
adtype_name,
sum(clicked) as count_of_clicked,
count(*) as count_of_row
from ad_display ad
left join advertise a on a.ad_id = ad.ad_displaysId
left join camp_table ct on ct.campaign_id = ad.campaign_id
left join adtype at on at.adtypeId = ad.adtypeId
group by advertise_name, camp_name, adtype_name
请注意sum(单击)
的漂亮“技巧”,这是因为在mysql中true
是1
,false
是0
,所以布尔值求和会计算其为真的次数
create view my_ad_view as
select
advertise_name,
camp_name,
adtype_name,
sum(clicked) as count_of_clicked,
count(*) as count_of_row
from ad_display ad
left join advertise a on a.ad_id = ad.ad_displaysId
left join camp_table ct on ct.campaign_id = ad.campaign_id
left join adtype at on at.adtypeId = ad.adtypeId
group by advertise_name, camp_name, adtype_name