1

フィルターに関して、多くのテーブルからいくつかの大きなデータを生成する必要があります。そこで、いくつかの列の合計と、例のような行の数も取得する必要があります

私は5つのレコードを持っています

ID | 名前 | 削除しました

1 | あ | 1
2 | あ | 0
3 | あ | 1
4 | ビ | 1
5 | シー | 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

名前 | 削除 | カウント

あ | 2 | 3B
| 1 | 1C
| 1 | 1

4

3 に答える 3

2

これを試して ::

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
于 2012-12-12T07:44:32.007 に答える
1

結果を得るために参加する必要はありません。これはうまくいくはずです:

SELECT name, sum(deleted), count(1)
FROM products
GROUP BY name
于 2012-12-12T07:44:39.173 に答える
1
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;
于 2012-12-12T07:44:56.257 に答える