我有以下表格:
我想查询一下,计算自1995年以来由city_name注册的所有用户,然后按注册最多的项目进行排序。 这是我到目前为止所尝试的(请注意我对sql仍然有点新鲜):
SELECT COUNT (userID), users.userID
FROM users FULL JOIN p.projectID FROM project
WHERE registration_date >= '01/01/1995'
GROUP BY (SELECT * FROM project WHERE project.projectID = user.projectID)
但是,这并没有返回正确的结果。谢谢你的帮助
答案 0 :(得分:0)
你的意思是:
SELECT
Project.ProjectID,
City.CityID,
COUNT(UserID) AS UserCount
FROM Project
INNER JOIN Users ON Users.ProjectID = Project.ProjectID
INNER JOIN City ON City.CityID = Users.CityID
WHERE
Users.registration_date > '1/1/1995'
GROUP BY Project.ProjectID, City.CityID
ORDER BY
COUNT(UserID) DESC
你说'按照注册最多的项目排序';这实际上是由注册最多的Project + City进行排序。
您可以对项目的总注册进行子选择,并将其包含在您的ORDER BY中,但这让我觉得有点奇怪的输出,所以我做了一个假设: - )