繁体   English   中英

如何选择sum,并使用多个连接从不同的表中计数

[英]how to select sum, and count from diffrent tables using multiple joins

我需要从许多表中生成一些关于过滤器的大数据,在那里我还需要获得一些列的总和,以及像行一样的行数

我有5条记录

ID | NAME | DELETED

1 | A | 1
2 | A | 0
3 | A | 1
4 | B | 1
5 | C | 1

我有查询,

SELECT  p.name, sum(p.deleted) as del, count(p.id) as numbers from products as p
join other AS b ON p.id=b.id 

我需要的输出是,

The sum of deleted records

NAME | 删除| 计数

A | 2 | 3
B | 1 | 1
C | 1 | 1

尝试这个 ::

SELECT  
p.name, 
sum(p.deleted) as del, 
count(id)  as numbers
from products as p
join other AS b ON p.id=b.id 
group by p.name

您不应该加入以获得结果。 这应该工作:

SELECT name, sum(deleted), count(1)
FROM products
GROUP BY name
SELECT  name,
        SUM(CASE WHEN deleted = 1 THEN 1 ELSE 0 END) Deletion,
        COUNT(*) `COunt`
FROM    products 
GROUP BY name

要么

SELECT  name,
        SUM(deleted) Deletion,
        COUNT(*) `COunt`
FROM    products 
GROUP BY name;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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