如何解决MySQL:一次查询以计数2个表中的多列[重复]
|| 这个问题已经在这里有了答案:解决方法
我可能错过了这个问题,但我认为工会会做需要做的事情
select group_id,count( member_id ),\'member\' from group_members group by group_id
union all
select group_id,count( quote_id),\'quote\' from group_quotes group by group_id
order by 2
, 这可能对您也很好,也:
SELECT gd.entry_id,c1.c,c2.c
FROM group_data gd
LEFT JOIN
(SELECT gq.group_id group_id,COUNT(*) c
FROM group_quotes gq
GROUP BY gq.group_id) c1
ON c1.group_id = gd.entry_id
LEFT JOIN
(SELECT gm.group_id group_id,COUNT(*) c
FROM group_members gm
GROUP BY gm.group_id) c2
ON c2.group_id = gd.entry_id
, 更新
这样的事情应该起作用:
SELECT `group_data`.`id`,`group_data`.`title`,`group_data`.`url_title`,COUNT(DISTINCT `group_members`.`id`) AS AS `group_members_count`,COUNT(DISTINCT `group_quotes`.`id`) AS `group_quotes_count`
FROM `group_data`
LEFT JOIN `group_members`
ON `group_members`.`group_id`
LEFT JOIN `group_quotes`
ON `group_quotes`.`group_id`
GROUP BY `group_data`.`id`
ORDER BY COUNT(`group_quotes`.`id`) DESC;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。