我需要创建一个包含用户列表的 SQL,以及每个用户的编号 已审核。
我尝试了这个,但它没有给出所需的输出,因为我不知道如何将 SUM 计算到其中。
SELECT review.revID, reviewer.name FROM review , reviewer WHERE review.revID = reviewer.revID
如有任何帮助,我们将不胜感激
这是我的 table
CREATE TABLE reviewer (
revID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(40),
email VARCHAR(40),
password VARCHAR(125)
);
CREATE TABLE movie (
movID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(30),
release_date date
);
CREATE TABLE review (
revID INT,
movID INT,
rating INT CHECK (rating > 0 AND rating < 10) ,
review_date datetime(6),
comment VARCHAR (300),
helpful INT,
PRIMARY KEY (revID,movID),
FOREIGN KEY (revID)
REFERENCES reviewer(revID),
FOREIGN KEY (movID)
REFERENCES movie(movID)
);
最佳答案
尝试这个查询:
SELECT
count(movId) AS Total_Movie_Count,
r.name AS Reviewer_Name,
r.revId as Reviewer_Id
FROM review
INNER JOIN reviewer r on r.revId = review.revId
GROUP BY review.revId
您必须对聚合列movId
使用GROUP BY
。要获取审阅者姓名,您必须使用 revId
进行 INNER JOIN
。
关于MYSQL 选择用户名并对他们的评论进行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39432920/