SQL组通过将多行视为1

时间:2017-11-06 21:22:05

标签: sql intersystems-cache

假设我有下表(课程)

SELECT course, AVG(score),MIN(score),Max(score) FROM [courses]
GROUP BY course

现在,如果我想获得每门课程的平均值,最小值和最大值,请使用以下

Course-------Average-------Min-------Max

A---------------4----------2-----------6

C--------------3.5---------3-----------4

但如果我想将A和B课程都视为A,该怎么办? 所以我应该得到以下

{{1}}

1 个答案:

答案 0 :(得分:2)

您的示例似乎表明您的问题中存在错误 - 我假设您的意思是"如果我想将A和C视为A"

在这种情况下,您应该可以在this.http.post('http://myurl',data,headers) .map(res => res.json()) .subscribe(res => { console.log(res) loader.dismiss() this.items=res.server_response; this.totalAmount = this.getTotal(); }); }); } ; } getTotal() { let total = 0; for (var i = 0; i < this.items.length; i++) { if (this.items[i].amount) { total += this.items[i].amount; this.totalAmount = total; } } return total; }

中执行此操作
GROUP BY

如果这不起作用,那么您可以嵌套查询:

GROUP BY
    CASE WHEN Course = 'C' THEN 'A' ELSE Course END