做论坛,问个mysql 查询问题

klggg 2003-02-27 05:24:55
做论坛,问个mysql 查询问题
论坛有三张表
表1 g_forum_class 保存论坛的分类
表2 g_forum_title_m 保存论坛的主帖
表3 g_forum_title_s 保存论坛的子帖

我现在想能否用一条SQL语句得到
1.论坛的分类
2.每类的主帖数
3.每类的子帖数
注:
g_forum_title_m.forumid 是主帖里保存论坛类别字段 g_forum_title_m.forumid=g_forum_class.id
g_forum_title_s.fatherid 是子帖里保存对应该主帖id的字段 g_forum_title_m.id=g_forum_title_s.fatherid

以下我实现了 得到 论坛的分类 和 每类的主帖统计的功能
但想不出怎么样同时得到子帖数

select
g_forum_class.*,
count(g_forum_title_m.forumid) as mcount
from
g_forum_class
LEFT JOIN
g_forum_title_m ON g_forum_title_m.forumid=g_forum_class.id
where
g_forum_class.flag_deleted='N'
GROUP BY g_forum_class.id
order by g_forum_class.id

另如果我再加上统计出主帖里最后发表的文章标题呢,可实现吗?
谢谢.
...全文
28 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
l0082 2003-03-03

你试着在Access里建立同样的三个表,
然后利用ACCESS的查询创建作出需要的SQL语句,
再看看可不可以在MYSQL下运行。。。

试一试吧。。。。
  • 打赏
  • 举报
回复
shuixin13 2003-02-28
实现的办法是有的,
只是对你的性能有损失,
:》
主要是因为 MySQL 目前还不支持子查询,
等 MySQL 4.1 出来后就好了,
:》

多表联合与MAX()结合的复杂查询
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=78128
  • 打赏
  • 举报
回复
klggg 2003-02-28
我现用多条语句了,真没办法呀。
另再问一下。
我想得到帖子里最后回复的帖子记录
能否用这样的想法去实现
select * from table where id=(select MAX(id) from table);
写成 mysql语句应该是怎么样呢?
  • 打赏
  • 举报
回复
shuixin13 2003-02-27
呵呵,一条语句无法实现呀
  • 打赏
  • 举报
回复
发帖
MySQL
加入

5.6w+

社区成员

MySQL相关内容讨论专区
社区管理员
  • MySQL
申请成为版主
帖子事件
创建了帖子
2003-02-27 05:24
社区公告
暂无公告