SQL:如何展示列中总计的百分比?

时间:2016-07-21 21:16:21

标签: mysql sql database

我必须创建一个电影数据库,其中一个查询涉及显示用户已评价的电影列表,"以及实际评级和流派。

此外,它必须显示用户评价的所有电影中该类型的百分比。例如:

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斗争。

1 个答案:

答案 0 :(得分:0)

您需要的挑战是使用汇总级数据显示单位级别数据。因此,请考虑使用聚合groupby派生表(20160723002FROM子句中的嵌套select语句)将(将JOIN)与先前设置的查询相关联(使用显式连接而不是隐式连接) ):

USERID