繁体   English   中英

显示一个表中的2列,第3列中的最大计数,并显示另一表中的计算值之和

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM