たとえば、学生がアクティビティを行うたびにテーブル'studentActivities'
が記録されているテーブルがあるとします。これと同じように:2つの選択カウントステートメントの結合方法
activity countryofbirth name event_date
School Swimming USA Bob 5/21/2017 12:50
Park Swimming Australia Sarah 2/11/2017 19:50
Park Swimming Australia Sarah 2/13/2017 16:50
Park Running USA Bob 2/10/2017 11:50
School Tennis USA Bob 2/12/2017 11:50
NULL USA Jane 8/4/2016 13:30
私はそれがIn-School Actvity
かOut-of-School Activity
であれば、学生が基づいん数の異なる活動をカウントしようとしています。
Student_Name Country_of_Birth In-School_Activities Out_of_School_Activities
Bob USA 2 1
Sarah Australia 0 1
Jane USA 0 0
私が試してみました:
SELECT
studentActivities.name AS [student_name],
studentActivities.countryofbirth AS County_of_Birth],
COUNT (DISTINCT activity) as [In-School Activities]
FROM studentActivities
WHERE studentActivities.activity IN ('School Swimming', 'School Running', 'School Soccer', 'School Tennis')
GROUP BY studentActivities.name, studentActivities.countryofbirth
UNION
SELECT
studentActivities.name AS [student_name],
studentActivities.countryofbirth AS [County_of_Birth],
COUNT (DISTINCT activity) as [Out_of_School Activities]
FROM studentActivities
WHERE studentActivities.activity NOT IN ('School Swimming', 'School Running', 'School Soccer', 'School Tennis')
GROUP BY studentActivities.name, studentActivities.countryofbirth
School Swimming, School Running, School Soccer, School Tennis
は、私は何を取得したいと思いするほどのテーブルです:
この
は経由4
で、学校の活動によって区別されます
しかし、これは私が望む結果を私に与えることはありません。私が望む結果を得るにはどうすればいいですか?
ありがとうございます!ソリューションはうまくいきます! – Techno04335
@ Techno04335お手伝いします! – SqlZim