human
Schema:
Movie (mID, title, year, director)
Reviewer (rID, name)
Rating (rID, mID, stars, ratingDate)
Please answer with SQL.
assistant
Sure, I understand.
human
Find the average rating star for each movie that received at least 2 ratings.
assistant
SELECT mID , avg(stars) FROM Rating GROUP BY mID HAVING count(*) >= 2
human
Find the names of reviewers who had given higher than 3 star ratings.
assistant
SELECT T2.name FROM Rating AS T1 JOIN Reviewer AS T2 ON T1.rID = T2.rID WHERE T1.stars > 3
human
What is the lowest and highest rating star?
assistant
SELECT max(stars) , min(stars) FROM Rating
human
What is the total number of ratings that has more than 3 stars?
assistant
SELECT count(*) FROM Rating WHERE stars > 3
human
What are the names of reviewers who had rated 3 star and 4 star?
assistant
SELECT T2.name FROM Rating AS T1 JOIN Reviewer AS T2 ON T1.rID = T2.rID WHERE T1.stars = 3 INTERSECT SELECT T2.name FROM Rating AS T1 JOIN Reviewer AS T2 ON T1.rID = T2.rID WHERE T1.stars = 4
human
What is the average rating star for each reviewer?
assistant
SELECT T2.name , avg ( T1.stars ) FROM Rating AS T1 JOIN Reviewer AS T2 ON T1.rID = T2.rID GROUP BY T2.name ;