3表链接,数据获取不全

huige728 2020-04-28 11:41:18
数据表如下



在获取栏目id是4的情况下有一条数据不显示(下图框住的数据)





SELECT
c.content_id, c.title, c.readcount, c.contenttime,
u.user_name,
COUNT(r.reply_id) AS responses, IF(MAX(r.reply_time) is NULL,c.contenttime,MAX(r.reply_time)) AS last
FROM
content AS c
LEFT JOIN
reply AS r
USING
(content_id)
INNER JOIN
users AS u
ON
c.user_id = u.user_id
WHERE
c.nav_id = {$_SESSION['nav_id']}
GROUP BY
(r.content_id)
ORDER BY
last DESC
...全文
84 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huige728 2020-04-28
  • 打赏
  • 举报
回复
引用 5 楼 强仔! 的回复:
[quote=引用 4 楼 huige728 的回复:] [quote=引用 2 楼 强仔! 的回复:] 你Groupby的值有重复的吗?我怎么记得groupby会合并相同的值,然后合并成一条数据
刚刚试了下,原来每个栏目下如果有超过1条数据,且这些数据下的回复量都是0,就会显示一条数据,其他的数据不显示,那我这个要怎么修改才对啊[/quote] 要不你先把groupby注释了?我总感觉这里不太对[/quote] 取消了groupby,就要连 COUNT() 、MAX() 都不能用,这3个是关联的
huige728 2020-04-28
  • 打赏
  • 举报
回复
刚刚试了下,原来每个栏目下如果有超过1条数据,且这些数据下的回复量都是0或者一样多的回复量,就会显示一条数据,其他的数据不显示,那我这个要怎么修改才对啊
强仔! 2020-04-28
  • 打赏
  • 举报
回复
引用 4 楼 huige728 的回复:
[quote=引用 2 楼 强仔! 的回复:]
你Groupby的值有重复的吗?我怎么记得groupby会合并相同的值,然后合并成一条数据

刚刚试了下,原来每个栏目下如果有超过1条数据,且这些数据下的回复量都是0,就会显示一条数据,其他的数据不显示,那我这个要怎么修改才对啊[/quote]
要不你先把groupby注释了?我总感觉这里不太对
huige728 2020-04-28
  • 打赏
  • 举报
回复
引用 2 楼 强仔! 的回复:
你Groupby的值有重复的吗?我怎么记得groupby会合并相同的值,然后合并成一条数据
刚刚试了下,原来每个栏目下如果有超过1条数据,且这些数据下的回复量都是0,就会显示一条数据,其他的数据不显示,那我这个要怎么修改才对啊
huige728 2020-04-28
  • 打赏
  • 举报
回复
引用 2 楼 强仔! 的回复:
你Groupby的值有重复的吗?我怎么记得groupby会合并相同的值,然后合并成一条数据
根据content_id统计每个标题下的回复量,是用GROUP BY (r.content_id) 的这样写法把?
强仔! 2020-04-28
  • 打赏
  • 举报
回复
你Groupby的值有重复的吗?我怎么记得groupby会合并相同的值,然后合并成一条数据
huige728 2020-04-28
  • 打赏
  • 举报
回复
目前发现使用COUNT()和MAX()、GROUP BY会导致出现一条数据,但是在其他栏目下也是正常的,不知道怎么修改才行

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧