首页 > 解决方案 > 在返回特定行的详细信息时对 sum() 进行 MySQL 查询

问题描述

我有一张桌子

id pos status price
1 US 0 0 
1 UK 1 0
1 HK 2 100
2 HK 0 0
2 UK 1 200
...

我想显示每个 id 的总和(价格),同时显示 status=0 的记录的位置

IE

id pos sum(price)
1 US 100
2 HK 200
...

有什么方法可以在不使用临时表的情况下做到这一点?

标签: mysqlsqlsum

解决方案


exists像下面这样使用

select id,pos,sum(price)
from table_name t1
where exists ( select 1 from table_name t2 where t1.id=t2.id and t2.status=0)
group by id,pos

推荐阅读