0

私はmysqlデータベースに次のようなテーブルを持っています

id  fruit   number_eaten   day   
----------------------------------
1  apple        2           1
2  banana       1           1
3  orange       3           2
4  apple        1           2
5  banana       2           3
6  peach        1           3

1日に何回食べたかを比較してスプレッドシートに入れるように選択する方法を見つけようとしています。

fruit     number_eaten_day_1   number_eaten_day_2    number_eaten_day_3
------------------------------------------------------------------------
apple             2                  1                      0
banana            1                  0                      2
orange            0                  3                      0
peach             0                  0                      1
4

1 に答える 1

1

合計値 number_eaten を使用して、果物と日ごとに別の行を作成する方が簡単です。

select fruit, day, sum(number_eaten)
from fruits_eaten_by_day 
group by fruit, day

しかし、これを行うことで必要な正確な結果を得ることができるはずです:

select 
  fruit, 
  sum(if(day=1, number_eaten, 0)) as number_eaten_day_1, 
  sum(if(day=2, number_eaten, 0)) as number_eaten_day_2, 
  sum(if(day=3, number_eaten, 0)) as number_eaten_day_3
from fruits_eaten_by_day
group by fruit
于 2011-07-19T22:49:42.227 に答える