第四题怎么解答?
对产品类型进行分组,having中判断持有余额大于5000的
话说这面试题做对是不是就可以进银行了?
题主说了一句,"第四题怎么解答?",那我默认你是只问第四题。
这题出得有一点点妙,我差点就绕进去了。
首先,这里肯定要构造一个笛卡尔积,而且题目中指出了要用第一个表中的数据,而不是使用第二个表,也就是说,只需要显示的确有对应组合发生的数据。
那么问题就简单了
select a.prod_code 产品A, b.prod_code 产品B, count(1) 同时持有的客户数
from report_cust_prod_aum_stats a, report_cust_prod_aum_stats b
where a.cust_no = b.cust_no
and a.prod_code <> b.prod_code
group by a.prod_code, b.prod_code
如果需要翻译产品名称,再把第二个表关联进去两次来进行翻译就好了。
当然,这个题目中漏了一个说明,比如
产品A为"国金",产品B为"现金宝"
和
产品A为"现金宝",产品B为"国金"
这两条是否需要去重?
某些业务场景下是需要去重的,当然也有某些业务场景下是不需要去重的