我对此有点菜鸟,但我正在努力学习,我有两个表,第一个表(新闻)包含有关博客帖子的所有信息,它具有以下结构:
* NEWS (TABLE 1)
- id_new
- id_category
- date
- ...etc
- **likes**
我还有第二张 table :
* LIKES (TABLE 2)
- id_like
- id_new
- id_user
- date
- ip_user
因此,我想选择表 1 中的所有行来显示所有新闻,但我也想计算喜欢数并获取每个新喜欢列的计数。
最佳答案
此方法将 NEWS
表左连接到一个子查询,该子查询查找每个新闻报道的点赞数。
SELECT
t1.*,
COALESCE(t2.likes, 0) AS likes
FROM NEWS t1
LEFT JOIN
(
SELECT id_new, COUNT(*) AS likes
FROM LIKES
GROUP BY id_new
) t2
ON t1.id_new = t2.id_new
请注意,没有点赞的故事根本不会出现在 LIKES
表中,并且计数为零。另请注意,我假设 LIKES
表中的每条记录都对应于一个逻辑“like”。如果不是,则可以修改查询以计算其他内容。
关于php - 如何从两个不同的表中进行 SELECT 和 COUNT 以在一个查询中获取帖子的 "like count"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45003948/