我如何在SQL中创建此视图?

时间:2014-12-29 02:55:04

标签: mysql sql count

您好,我有一个社交网络数据库;用户可以提交内容并对其进行评论。他们可以加入小组。我想提出一些看法:

查看撰写超过1,000条评论的用户

CREATE VIEW userPro
AS SELECT U.nick, C.id 
FROM User.U, Comments.C 
WHERE C.id> 1000

¿¿¿我怎么能把'伯爵'??? (我需要id计数> 1000)

查看3个不同群组并发送超过10个内容的用户

CREATE VIEW userGroupArt
AS SELECT U.nick, Co.id, G.idg
FROM  User.U, Content.Co, Group.G
WHERE COUNT BY(idg > 3 AND content >10)

我在使用Count时遇到了很多困难,但我阅读了很多文档。你能救我吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您希望了解有关sql having clause

的更多信息
CREATE VIEW userPro
AS SELECT U.nick, C.id 
FROM `User` AS U INNER JOIN Comments AS C ON 
U.id = C.user_id
HAVING COUNT(C.id) > 1000;


CREATE VIEW userGroupArt
AS SELECT U.nick
FROM `User` AS U INNER JOIN Content AS Co ON U.id = Co.user_id 
INNER JOIN  UserGroup AS UG on UG.user_id = U.id
HAVING COUNT(DISTINCT UG.group_id) > 3 AND COUNT(DISTINCT Co.id) > 10

此外,您需要在第二个视图中说明您想要的字段 - 如果您想要一个唯一身份用户列表,则无法选择用户组或内容的ID,因为用户可以拥有多个组和内容。