数据表是这样的
string string int int
A B C D
001 小明 1 6
002 小红 2 6
001 小明 4 5
003 小红 6 5首先需要将D字段最大值对应的不同人名列表出来,A字段不同取D字段最大这次,然后以B字段人名为group,将C字段相加,即得到如下结果.太晕了.
string string int int
A B C D
001 小明 5 6
002 小红 8 6
string string int int
A B C D
001 小明 1 6
002 小红 2 6
001 小明 4 5
003 小红 6 5首先需要将D字段最大值对应的不同人名列表出来,A字段不同取D字段最大这次,然后以B字段人名为group,将C字段相加,即得到如下结果.太晕了.
string string int int
A B C D
001 小明 5 6
002 小红 8 6
from tb
group by a,b
from tb
group by a,b
a,b,sum(c) as c ,max(d) as d
from
tb
group by
a,b
string string int int
A B C D
001 小明 1 6
002 小红 2 6
001 小明 4 5
003 小红 6 5
002 小明 1 4
003 小红 2 4
004 小明 4 3
003 小红 6 3
D字段只是作为判断用,得到如下结果
string string int int
A B C
001 小明 6
002 小红 10
from tb
group by a,b
where d between 4 and 6
from tb
where d between 4 and 6
group by a,b
A B C D
001 小明 5 6
002 小红 2 6
003 小红 6 5
也就是说,D字段不是全为6