2016-09-28 8 views
0

ボランティアに関する情報とさまざまなイベントへの参加に関するデータベースを用意しました。グループ化されたSQL Count関数から出力される個別の値の計算

次のクエリでは、私が結果表が個別の出席の数とどのように多くのそれぞれの存在を示したいと思います自分の名前と合計出席

SELECT 
    volunteers.last_name, 
    volunteers.first_name, 
    count (bookings.id) 
FROM 
    volunteers, 
    bookings 
WHERE 
    volunteers.id = bookings.volunteer_id 
GROUP BY 
    volunteers.last_name, 
    volunteers.first_name 

のリストを与えます。したがって、5人が1つのイベントを行った場合、1列目に1、2列目に5が表示されます。

おかげ

+0

テーブル構造を投稿し、結果がどのように表示されるか –

+0

サンプルテーブルデータを含む。 – jarlh

+1

サンプルデータと望ましい結果が役立ちます。適切で明示的な 'JOIN'構文を使うことも学ぶべきです。さらに、あなたはあなたが望むもののあなたの説明に「イベント」と言いますが、そのような列やテーブルはありません。 –

答えて

0

私が正しく理解していれば、私は「ヒストグラムのヒストグラム」クエリ呼んたい:最初の列は、「イベント」のために予約したボランティアの数である

select numvolunteers, count(*) as numevents, min(eventid), max(eventid) 
from (select b.eventid, count(*) as numvolunteers 
     from bookings b 
     group by b.eventid 
    ) b 
group by numvolunteers 
order by numvolunteers; 

。 2番目は、これが発生するイベントの数です。最後の2つの列は、与えられた数のボランティアを持つイベントの単なる例です。

+0

ありがとうございましたGordonのソリューションは、私が後にしたものでした。 – Alex

関連する問題