我有以下表格:
我想:1.计算项目中的所有项1.计算项目中的所有注解。对于#1,我正在执行以下操作:
SELECT p.*, (SELECT COUNT(*) FROM items WHERE project_id=p.id) items_count, FROM projects p
但是我不知道如何更深入一层去计算评论。任何帮助都将不胜感激。
pbpqsu0x1#
假设id是projects的主键,并且items和comments都有主键,例如id,您可以执行projects到其他表的LEFT联接并聚合:
id
projects
items
comments
LEFT
SELECT p.*, COUNT(DISTINCT i.id) items_count, COUNT(c.id) comments_count FROM projects p LEFT JOIN items i ON i.project_id = p.id LEFT JOIN comments c ON c.item_id = i.id GROUP BY p.id;
参见简化的demo。
1条答案
按热度按时间pbpqsu0x1#
假设
id
是projects
的主键,并且items
和comments
都有主键,例如id
,您可以执行projects
到其他表的LEFT
联接并聚合:参见简化的demo。