这是一个Oracle SQL难题。
我有一个问题,我有一张日期/水果/数量消耗表,而Fruit表中偶尔会出现重复,我想清理它。例如,我在同一天吃了3个苹果和2个苹果,我想把它结合起来说只吃了5个苹果。
我猜它会使用GROUP BY功能,但我无法想办法避免将所有苹果分组,而不是仅仅在特定日期对所有苹果进行分组。
Date Fruit Eaten
1-May Lemon 2
1-May Apple 3
1-May Apple 2
1-May Orange 4
2-May Lemon 1
2-May Apple 2
2-May Orange 3
2-May Pear 4
这就是我想要的样子:
Date Fruit Eaten
1-May Lemon 2
1-May Apple 5
1-May Orange 4
2-May Lemon 1
2-May Apple 2
2-May Orange 3
2-May Pear 4
答案 0 :(得分:2)
试试这个:
select to_char(Date, 'DD-MON') as Date,Fruit,sum(Eaten) as Eaten
from Your_Table
group by to_char(Date, 'DD-MON') ,Fruit
或尝试使用trunc
,如下所示:
select trunc(Date, 'MONTH') as Date,Fruit,sum(Eaten) as Eaten
from Your_Table
group by trunc(Date, 'MONTH') ,Fruit
答案 1 :(得分:1)
尝试对多个列进行分组:
select Date,Fruit,sum(Eaten)
from Your_Table
group by Date,Fruit