我有以下查询:
SELECT t.id, t.name, t.tags, t.privacy, t.about, t.views, t.registered, t.updated, i.image_id
FROM x_trybes t
LEFT JOIN x_trybe_images i
ON t.id = i.trybe_id
除了这个查询,我还有一个名为:
的表x_trybes_likes,具有以下结构
id | trybe_id | PROFILE_ID
id是主键 trybe id是此表与x_trybes&之间的关系。 x_trybe_images表 和个人资料ID,它与喜欢x_trybe的用户有关。
我如何附加我的查询来促进计数,例如4个人喜欢生物学尝试。即x_trybes_likes表中有4行?任何人都可以提供解决方案吗?
我已经尝试了这个但是由于某种原因它返回了第一行:\:
SELECT t.id, t.name, t.tags, t.privacy, t.about, t.views, t.registered, t.updated, i.image_id, COUNT(l.trybe_id) AS likes
FROM x_trybes t
LEFT JOIN x_trybe_images i
ON t.id = i.trybe_id
LEFT JOIN x_trybes_likes l
ON t.id = l.trybe_id
由于
答案 0 :(得分:1)
您错过了GROUP BY
。
放手一搏:
SELECT t.id,
t.name,
t.tags,
t.privacy,
t.about,
t.views,
t.registered,
t.updated,
i.image_id,
COUNT(distinct l.id) AS likes
FROM x_trybes t
LEFT JOIN x_trybe_images i
ON t.id = i.trybe_id
LEFT JOIN x_trybes_likes l
ON t.id = l.trybe_id
group by t.id,
t.name,
t.tags,
t.privacy,
t.about,
t.views,
t.registered,
t.updated,
i.image_id;