【发布时间】:2014-07-27 08:10:12
【问题描述】:
这是我的带有示例数据的表格:
id|group_id|column1|column2|column3|
--------------------------------------
1 1 | 1 1 0
2 1 | 1 1 1
3 2 | 0 0 0
4 2 | 1 1 1
5 1 | 1 0 0
6 3 | 0 0 0
预期结果集:(结果应显示每组中的最大总和(col 1 + col 2 + col 3))
id|group_id|column1|column2|column3|
--------------------------------------
2 1 | 1 1 1
4 2 | 1 1 1
6 3 | 0 0 0
实际结果集: (select *, max(m.column1 + m.column2 + m.column3) as total from my_table m group by m.group_id) 这是错误的
id|group_id|column1|column2|column3|total|
------------------------------------------
1 1 | 1 1 0 3
3 2 | 0 0 0 3
6 3 | 0 0 0 0
我对 SQL 很陌生,似乎查询选择了每个组中的第一个 id。
获得预期结果的最佳方法是什么?
【问题讨论】:
-
您确定您的预期结果集正确吗?
-
您的预期结果集甚至不包含任何求和值