1

3 つのアクティビティ タイプがあり、各イベントに参加した人数を表示する必要があります。たとえば、表示するクエリが必要です。

  • アクティビティの種類 ----------- 合計
  • スノーボード --------- 9
  • スキー ------------------- 7
  • ソリ遊び ---------------- 5

これまでのところ、次のクエリを作成しました。

SELECT type_of_activity, COUNT (DISTINCT individual_id) 
FROM activities, events, book_activity
WHERE activities.activity_code = events.activity_code 
      AND events.event_id = book_activity.event_id;

これは明らかに間違っており、エラー " not a single group function"が表示されます。

私がする必要があるのは、個々の ID の各一意のインスタンスをカウントすることです。ここでは、タイプごとにスキーを行います。多くのリソースを見てきましたが、例やヘルプが見つかりません

4

1 に答える 1

1
SELECT a.type_of_activity, COUNT(ba.individual_id)
FROM BOOK_ACTIVITY ba
JOIN EVENTS e
  ON e.event_id = ba.event_id
JOIN ACTIVITIES a
  ON a.activity_code = e.activity_code
GROUP BY a.type_of_activity;
于 2013-03-10T00:33:28.847 に答える