[英]Display 2 columns from one table having max count in column 3 and display computed sum of values from another table
我有一个客户表和采购表,需要显示cname,客户表中max(customer_visits)的cid以及采购表中客户的total_purchases总和。 我正在做这样的事情
select p.cid, c.cname, sum(p.total_price)
from customers c where exists
(select max(visits_made) from customers having visits_made=max(visits_made)
and cid=p.cid)
inner join purchases p on p.cid=c.cid
group by p.cid,c.cname
和
select p.cid, c.cname, sum(p.total_price)
(select max(visits_made) from customers c where c.cid=p.cid)
from purchases p
inner join customers c on c.cid=p.cid
group by p.cid,c.cname
这些查询出了什么问题?
找到了解决方案,在内部连接之后必须包含where子句:D
我认为这只是一个聚合查询:
select p.cid, c.cname, sum(p.total_price) as total_price,
max(visits_made) as visits_made
from purchases p inner join
customers c
on c.cid = p.cid
group by p.cid, c.cname;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.