我希望得到一个组的列的总和(标记),根据另一列( is_goodDegree )仅包含值 1 。并通过 san 和 temp_key
分组检查下图;
应该计算第2组标记(45 + 43 + 47),而忽略第1组。
如何为此编写SQL查询?请指教。
答案 0 :(得分:3)
使用HAVING
子句:
SELECT t.san,SUM(t.marks) as sum_marks
FROM YourTable t
GROUP BY t.san
HAVING MIN(t.is_goodDegree) = 1
答案 1 :(得分:1)
根据您的问题,我认为这正是您所需要的
{{1}}