1

ここに画像の説明を入力私はSQLを初めて使用するため、把握できないクエリがあり、明日提出する予定のプロジェクトがあります

どんな助けでも大歓迎です

次の構造を持つ登録テーブルがあります

Student_ID int,
Course varchar(15),
Score int,
Semester varchar(15),
Discipline varchar(10),
Campus varchar(15),
Degree varchar(10),
Year int

登録テーブルには主キーがありません。基本的には日付ウェアハウスを開発するためのものです

したがって、主キーはなく、このテーブルのデータは同じ大学の 4 つの異なるキャンパスからのものであるため、Student_id は何度も繰り返されます

クエリは、各キャンパスのすべてのバッチ(年)の平均学生数を見つける必要があるということです

誰かができるなら親切に私を助けてください

4

3 に答える 3

0
DECLARE @Num_Discipline AS INT

SELECT DISTINCT @Num_Discipline = Count(Discipline)
FROM registration

SELECT Count(student_id) AS nStudents, Count(student_id)/@Num_Discipline AS Avg_Students
FROM registration
GROUP BY Campus, Year

Avg_Studentsこれは、キャンパスが同じ数の学問分野を持っていると仮定した場合の、特定の年の各キャンパスの平均学生数です。

于 2012-12-26T11:20:38.303 に答える
0

これがあなたが必要とするものであることを願っています::

理解を深めるために、データのスナップショットをいくつか提供してくれました。

select count(1),count(distinct student_id),year,count(distinct student_id)/count(1)   from   registration 
group by year;
于 2012-12-26T11:04:56.853 に答える
0
select year, campus, count(distinct student_id)  from registration
       group by year, campus
于 2012-12-26T11:10:14.977 に答える