你好,我有 4 张这样的桌子。
如何使用 sql sintax 得到这样的结果?
之前谢谢。:D
下面的查询将列出表中的所有记录,Computer
无论它是否与其他表匹配id
,因为LEFT JOIN
已使用。Computer
单独计算一台计算机的点击数的原因是因为如果into table有多个匹配,它可能会产生无效的计数LIKE
。
SELECT a.ID, a.Name,
SUM(sta_like = 1) total_like,
SUM(sta_like = 0) total_dislike,
COALESCE(totalHits, 0) total_hits
FROM Computer a
LEFT JOIN `LIKE` b
ON a.id = b.id_com
LEFT JOIN
(
SELECT id_com_hits, COUNT(*) totalHits
FROM hits
GROUP BY id_com_hits
) c ON a.ID = c.id_com_hits
GROUP BY a.ID, a.Name