我在 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
我正在尝试找出如何选择,以便我可以比较每天吃了多少并放入电子表格中,以便我得到
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
最佳答案
更容易将每个水果和每天的总和值 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
关于mysql 比较同一个表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6755008/