gpt4 book ai didi

php - 创建具有匹配列的 sql View

转载 作者:行者123 更新时间:2023-11-29 05:20:48 24 4
gpt4 key购买 nike

我有以下表格:

Users

UserId Name
--------- --------
1 a
2 b
3 c
1 d
7 e

UsersComments
commentId Message UserId
1 aa 1
2 bb 3
3 cc 2
4 dd 3

我想创建一个 View ,在其中我可以向用户推荐他们所做的评论数量,我的想法是还添加他们在网站上的一些其他交互,因此在用户表上有一个列不是解决方案。

到目前为止我有这个查询:

CREATE VIEW userstats AS ( (SELECT UserId FROM Users) , (SELECT count(commentId) FROM UsersComments GROUP BY UserId))

问题是可能有用户还没有发表评论,另一个问题是如何将每个用户的评论量加入其对应的id。

SELECT UserId, count(commentId) FROM UsersComments GROUP BY UserId 

这不是我所说的解决方案,因为用户会有其他指标,例如喜欢或上传的内容。

这是怎么做到的?

最佳答案

CREATE VIEW userstats 
AS
SELECT
Users.UserId,
COUNT(commentId) AS n_comments
FROM
Users
LEFT JOIN
UsersComments
ON
Users.UserId=UsersComments.UserId
GROUP BY
Users.UserId;

由于 Users 和 UsersComments 表共享同名列,您可以使用 USING 关键字而不是 ON 来缩短查询:

...
LEFT JOIN
UsersComments
USING (UserId)
...

关于php - 创建具有匹配列的 sql View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26113058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com