sql - 通过 SQL 中两个不同表的数据查找最高/最低值
问题描述
我是新手,我需要有关广告/营销机构数据库的帮助
我有两张表,一张是List_of_billboards,它有三列:Billboard_ID(PK)、Location 和 Type,第二张是Billboard_Ad_Campaigns,它有四列:Ad_ID(PK)、Cost_of_campaign、ID_of_client、Billboard_ID (FK)。
表的数据如下所示:
表格1:
Billboard_ID | Location | Type
BbID001 | London | Digital
BbID002 | Hayward | 3D
BbID003 | Las Vegas | Painted
BbID004 | New York | Painted
表2:
Ad_ID | Cost_of_campaign | ID_of_client | Billboard_ID
BbCID0001 $123 001 BbID001
BbCID0002 $456 002 BbID002
BbCID0003 $789 003 BbID003
BbCID0004 $1234 003 BbID004
如何找到某种类型的广告牌(3D、数字、彩绘等)的最高/最低成本?
例如,根据上述数据,成本最高的彩绘广告牌将是 BbID004(纽约一号)
解决方案
使用窗口函数。对于最便宜的广告系列:
select b.*
from (select t2.*,
row_number() over (partition by t1.type order by t2.cost_of_campaign asc) as seqnum
from table1 t1 join
table2 t2
on t1.Billboard_ID = t2.Billboard_ID
) b
where seqnum = 1
推荐阅读
- angular - 具有非静态默认值的默认参数是否合法?
- c - 阻塞模式下的 ALSA 'snd_pcm_writei' 行为
- python - 为什么我会收到“TypeError:必须是 str,而不是 float”错误。我试图转换它
- javascript - 是否可以链接价值设定者?
- javascript - Vue.js 使用 v-for 单击时切换类
- javascript - 处理 SelectDialogBox 的 CONFIRM 事件的行为
- php - 注入问题 - 缺少父构造函数调用
- testflight - 如何解决 Apple TestFlight 中的“出现问题”错误
- python - 熊猫区分两个数据框
- php - 如何在 laravel 5.4 中使用多重关系