9

私はこのテーブルを持っています

| user         | Mark       | Points   |
|--------------|------------|----------|
| John         |    0       |    2     |
| Paul         |    5       |    3     |
| John         |    4       |    4     |
| Paul         |    7       |    5     |

以下に示す行を返す 1 つの select ステートメントを含むクエリを作成したいと思います。Avg(Mark) - Mark>0 の場合のみ平均値になります。 Sum(Points) - すべてのレコードの合計値になります。

| user         | Avg(Mark)  | Sum(Points) |
|--------------|------------|-------------|
| John         |    4       |    6        |
| Paul         |    6       |    8        |

誰でも適切な構文を指摘できますか?

私はそれが好きだと信じています:

select user, avg(Mark>0), sum(Points) from Table group by user;
4

3 に答える 3

13

どうですか:

select user,
       avg(case when mark > 0 then mark end),
       sum(mark)
from   ...
于 2013-06-20T13:26:11.410 に答える