SQL查询与distinct和sum

前端之家收集整理的这篇文章主要介绍了SQL查询与distinct和sum前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下混合的表,结合了颜色,水果和评分:
[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

我正在尝试编写一个ANSI兼容的SQL查询,它将组合每个独特的/不同的颜色 – 水果对,并且对每个对的个人评分值进行总和.因此,如果您在上表中运行查询,则会产生以下结果集:

[query]
color   |   fruit   |   sum
===========================
red         apple       35
blue        pear        14
blue        kiwi        3
green       apple       12
purple      kiwi        55

因此,查询看到表中有两个红苹果对,因此它为红苹果对创建了一个结果,并将其组成评级(25 10 = 35)等等加起来.

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

SELECT
    distinct(color,fruit),sum(rating)
FROM
    medleys

订单没关系.颜色和水果是VARCHAR(50),评级为INT.提前致谢!

解决方法

SELECT color,fruit,sum(rating)
FROM medleys
GROUP BY color,fruit

Distinct用于选择不同的元素,而不是您想要聚合,并且您需要GROUP BY和聚合函数(SUM).

猜你在找的MsSQL相关文章