我必须创建一个电影数据库,其中一个查询涉及显示用户已评价的电影列表,"以及实际评级和流派。
此外,它必须显示用户评价的所有电影中该类型的百分比。例如:
CREATE TABLE GENRES (
MOVIEID INT NOT NULL,
GENRE VARCHAR(20),
PRIMARY KEY(MOVIEID),
FOREIGN KEY(MOVIEID) REFERENCES MOVIES(ID)
);
查询:
SELECT U.USERID, M.TITLE, U.USERRATING, G.GENRE
FROM USER_RATEDMOVIES U, MOVIES M, GENRES G
WHERE (M.ID = U.MOVIEID) AND (U.USERID LIKE "EXAMPLE") AND (G.MOVIEID = M.ID)
ORDER BY DATE_YEAR, DATE_MONTH, DATE_DAY, DATE_HOUR, DATE_MINUTE, DATE_SECOND;
这将返回我需要的一切,除了总数的百分比。那就是我迷路的地方。我是SQL的新手,并且很难与COUNT(*)和GROUP BY斗争。
答案 0 :(得分:0)
您需要的挑战是使用汇总级数据显示单位级别数据。因此,请考虑使用聚合groupby派生表(20160723002
或FROM
子句中的嵌套select语句)将(将JOIN
)与先前设置的查询相关联(使用显式连接而不是隐式连接) ):
USERID