0

これは私のテーブルです:

これは私のテーブルです

このクエリを実行しています

SELECT fruits,COUNT(*) as count FROM meva where owner = 'bill' GROUP BY fruits ORDER BY count 

そして私は結果を得ています

ここに画像の説明を入力

このように持ち主に合わせないと他のフルーツアイテムが0になることはありますか?

Fruit   | count
Apple   ,   2
Mango   ,   0
Banana  ,   0
Strawberry ,0
Appricot,   0
Alfonso ,   0

私のクエリに少し変更を加えていただければ幸いです。ありがとう

4

2 に答える 2

1

使用SUM()してCASE

SELECT  fruits, 
        SUM(CASE WHEN owner = 'bill' THEN 1 ELSE 0 END) as `count `
FROM     meva 
GROUP BY fruits 
ORDER BY fruits

またはIF(のみ)を使用してMySQL

SELECT  fruits, 
        SUM(IF(owner = 'bill',1,0)) as `count `
FROM     meva 
GROUP BY fruits 
ORDER BY fruits
于 2013-01-15T07:01:31.703 に答える
1

はい、いい答えがあります。これも試すことができます!

SELECT  fruits, 
        SUM(Coalesce(owner='bill',0)) as counts
FROM     meva 
GROUP BY fruits 
ORDER BY fruits
;
于 2013-01-15T07:27:06.730 に答える