我有一个sql语句是这样的:由/ distinct和sum组合?
select a.id, a.valfrom ...
inner join ...
where ...;
因此,我有这样的:
id val
---------
3 10
3 10
3 10
9 21
9 21
11 2
11 2
13 30
所以你可以看到,一个ID都有一个值。
如果我通过(a.id)做一组,我得到:
id val
---------
3 10
9 21
11 2
13 30
我想最后的结果是总和: 10 + 21 + 2 + 30 = 63。
那么我怎样才能得到的总和作为一个单一的结果? 如果我做一个总和(a.val)和使用组(a.id)我没有得到63,我得到每个id的总和,例如id = 3 - > 10 + 10 + 10 = 30.
最好的问候。
从select equals选择“boooooo”。 分组方式是一种方式,但它们都有一些共同点:'NULL'。看到我的回答 – 2010-07-13 13:34:41
我这样做,我得到的错误消息: “每个派生表必须有自己的别名” – Tim 2010-07-13 13:37:01
@Tim:编辑,简单修复 – Borealid 2010-07-13 13:39:32