带有distinct和sum的SQL查询

14 sql sum distinct ansi-sql

我有下medleys表结合colors,fruitsratings:

[medleys]
medley_id   |   color   |   fruit   |   rating
==============================================
1               red         apple       25
2               blue        pear        5
3               green       apple       12
4               red         apple       10
5               purple      kiwi        5
6               purple      kiwi        50
7               blue        kiwi        3
8               blue        pear        9
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写符合ANSI标准的SQL查询,该查询将结合每个唯一/不同color- fruit对并对每对的各个rating值求和.因此,如果您在上面的表上运行查询,它将生成以下结果集:

[query]
color   |   fruit   |   sum
===========================
red         apple       35
blue        pear        14
blue        kiwi        3
green       apple       12
purple      kiwi        55
Run Code Online (Sandbox Code Playgroud)

因此,查询看到有两个red- apple对在表中,并且因此它对于产生一个结果red- apple对,并且增加了它们的组成ratings(25 + 10 = 35)等.

我确信我需要选择不同的颜色/水果值,但不确定如何在相同的"级别/范围"聚合评级:

SELECT
    distinct(color, fruit), sum(rating)
FROM
    medleys
Run Code Online (Sandbox Code Playgroud)

订单无关紧要.color并且fruit是VARCHAR(50)s并且rating是INT.提前致谢!

And*_*rey 25

SELECT color, fruit, sum(rating)
FROM medleys
GROUP BY color, fruit
Run Code Online (Sandbox Code Playgroud)

Distinct用于选择不同的元素,仅此而已,您希望聚合并为此需要GROUP BY和聚合函数(SUM).