2011-08-02 5 views

答えて

1

あなたが一緒に同じIDVar2でグループに行をGROUP BY句を使用する必要がありますし、

SELECT t.ID, t.Var2, AVG(t.Measure) AS Mean_Measure FROM YourTable t GROUP BY t.ID, t.Var2 

私はGROUP BYはかなりクエリの出力を変更することが追加される場合があります。その後、AVG機能は、平均値を算出します。また、出力にいくつかの制限が加えられます。まず第一に - あなたによってグループが一つだけ以下が適用さSELECT句に式を追加することができた後:

  1. 式は、式が集約関数
  2. のアプリケーションである
  3. GROUP BY句の一部であります

上記の例では、t.IDとt.Var2はGROUP BY節にあり、AVG(t.Measure)はt.Measureに集約関数AVGを適用したものです。

注意すべきいくつかのものもありますGROUP BYWHERE句を扱うと:

  1. WHEREGROUP BY後に適用され、これはあなたの場合はGROUP BY内の式ではないが、
  2. WHERE句で使用できないことを一般的に意味の代わりにGROUP BYを使用する前にデータをフィルタリングしたい場合

私はこれが意味をなさないことを願っています。そして、GROUP BYがどのように働いているかについてより多くの情報を得るために、私はconsulting the MySQL manual on the topicを提案したいと思います。

+0

ありがとうございます。しかし私はすべてのIDに関する各Var 2の手段が必要です。私。 :それは1人のユーザー(id = 12、var2 = 31、mean_var2 = 7)になります。 – Salicorne

+0

ああ - 申し訳ありませんが、私はそのIDが主キーだと思いました。編集済みの回答を見る – kastermester

関連する問題