在mysql中从多个表获取数据
我的目标是从以下表格中获取-用户的唯一组名和ID、用户组的最新评论、用户组的最新完成文章、完成文章的总数和文章总数。基本上是什么是在底部的表 到目前为止,我已经设法从groups表和文章中获得了数据,但我无法获得最新的评论 这是我的问题在mysql中从多个表获取数据,mysql,sql,Mysql,Sql,我的目标是从以下表格中获取-用户的唯一组名和ID、用户组的最新评论、用户组的最新完成文章、完成文章的总数和文章总数。基本上是什么是在底部的表 到目前为止,我已经设法从groups表和文章中获得了数据,但我无法获得最新的评论 这是我的问题 SELECT `groups`.`name` , `groups`.`id` , ( SELECT MAX( `articles`.`written` ) FROM `articles` WHERE `group` = `groups`.`id
SELECT `groups`.`name` , `groups`.`id` , (
SELECT MAX( `articles`.`written` )
FROM `articles`
WHERE `group` = `groups`.`id`
AND `articles`.`done` = '1'
) AS latestArt, (
SELECT MAX( `comments`.`date_added` )
FROM `comments`
WHERE `comments`.`article_id` = `a`.`id`
AND `comments`.`active` = '1'
) AS latestComm, SUM( `a`.`done` = '1' ) articlesAchieved, COUNT( `a`.`id` ) AS totalArticles
FROM `groups`
LEFT JOIN `articles` AS `a` ON `a`.`group` = `groups`.`id`
LEFT JOIN `comments` AS `c` ON `c`.`note_id` = `a`.`id`
WHERE `groups`.`user_id` = '6'
AND `n`.`active` = '1'
GROUP BY `groups`.`id`
我还尝试通过将所有内容都连接到article表来获取数据,但也没有成功:更新了您的查询可能如下所示
选择g.id组\u id,g.name组\u名称,
a、 上一篇文章,共篇文章,共完成,
c、 最后评论
从组g左连接
选择“组”,
MAXCASE WHEN done=1然后写入最后一次写入,
计数*文章总数,
全部完成
从文章
其中活动=1
和用户_id=1
分组`
A.
关于g.id=a.`group`左连接
选择一个.`group`,
MAXdate_添加了最后一条注释
从commants c连接到articles a
关于c.article_id=a.id
其中a.active=1
和a.user_id=1
一组接一组`
C
关于g.id=c.`群`
其中user_id=1
你能以文本形式发布你的样本数据吗?图像很棒,但是不可能处理来自它的数据。我正在尝试为它设置一个sqlFiddle。我想就是这样!有一件事我不能分类MaxWrite last_Write只能是'done'文章,但如果我添加并完成'1',则计数*并不计算所有文章。知道如何让它运行吗。谢谢你的提问,我自己永远也做不到,而且速度很快!您可以尝试条件聚合。请参阅更新的答案。如果有帮助就告诉我。这太疯狂了!谢谢你们的帮助。说真的,我一个人做不到。这太棒了!谢谢,我在底部为用户添加了排序。我不太明白您想要如何排序,但您可以尝试在子查询和外部选择中将user_id=1更改为user_id IN0,1。