数日前に似たようなことを尋ねましたが、これが私の問題です。私の教授は次のような質問をしました: 各劇場で上映されているすべての映画の平均評価を見つけてください. 劇場名と計算された評価を表示します。評価の昇順で結果を並べ替えます。
これが私のテーブルの構造です。
CREATE TABLE Theatres (
Name varchar2(50) not null,
City varchar2(50) not null,
State varchar2(50) not null,
Zip number not null,
Phone varchar2(50) not null,
PRIMARY KEY (Name)
);
CREATE TABLE Movies (
Title varchar2(100) not null,
Rating NUMBER not null,
Length NUMBER not null,
ReleaseDate date not null,
PRIMARY KEY (Title),
CHECK (Rating BETWEEN 0 AND 10),
CHECK (Length > 0),
CHECK (ReleaseDate > to_date('1/January/1900', 'DD/MONTH/YYYY'))
);
CREATE TABLE ShownAt (
TheatreName varchar2(50) not null,
MovieTitle varchar2(100) not null,
PRIMARY KEY (TheatreName, MovieTitle),
FOREIGN KEY (TheatreName) REFERENCES Theatres(Name),
FOREIGN KEY (MovieTitle) REFERENCES Movies(Title)
);
SELECT
AVG(Movies.Rating),
Theatres.Name
FROM Theatres
JOIN ShownAt ON ShownAt.TheatreName = Theatres.Name
JOIN Movies ON ShownAt.MovieTitle = Movies.Title
ORDER BY Movies.Rating ASC
普通ではない何かを見ますか?SQL Error: ORA-00937: not a single-group group function 00937. 00000 - "not a single-group group function" というエラーが発生し続けます。私の初心者を許してください。