mysql - 使用 count 从不同的表中获取行数作为生成的列?
问题描述
我有一个用户可以喜欢内容的系统。
用户和内容都有 ID,所以我制作了一个表格,喜欢内容的用户在其中存储了他们的 ID。
我可以通过 SQL 查询获得喜欢该内容的用户数。
SELECT count(*) from likes WHERE content_id={id of content you want the count of}
我想过使用生成的列,但显然这不是解决方法。
目前,我只是在内容表上有一个喜欢的列,每次用户喜欢它时它都会增加。但是,我认为,有可能会出现错误,因为它与实际喜欢的数量不同步。
任何帮助,将不胜感激!
解决方案
下面将列出 table 的所有列,content
并将添加喜欢计数作为最后一列(这是假设 table 中的 id 列content
是id
):
SELECT *,
(SELECT count(*) from likes WHERE content_id=id) likes
FROM content
推荐阅读
- javascript - 在获取 API 调用之前反应加载屏幕
- haskell - Haskell:如何测试使用 wreq 的 Spock 应用程序?
- c++-cli - Visual Studio C++ ERR:函数已经有主体
- java - 可以运行jar文件。Maven 构建后的 JNI 错误。类路径可以被破坏
- jquery - MVC模型数据使用jquery onclick函数分配标签值
- swift - Swift Firebase 从数据库显示到 tableview 中的 label.text
- python - 编译python项目
- html - 如何在文本区域内放置一个浮动按钮?
- python - 函数返回函数
- java - MVP 到 MVVM Android