Table ins_post_reply
reply_id(int), send_id(int), reply_user_id(int), reply_date Timestamp回帖ID 帖子ID(外键) 回帖用户ID(外键) 回帖时间
一句SQL 查询每个帖子的回帖个数、最后回帖时间、最后回帖人
reply_id(int), send_id(int), reply_user_id(int), reply_date Timestamp回帖ID 帖子ID(外键) 回帖用户ID(外键) 回帖时间
一句SQL 查询每个帖子的回帖个数、最后回帖时间、最后回帖人
解决方案 »
- 谁来教教我这是什么意思呀、
- EXT 一个表单多个下拉列表的问题!
- 我想知道一些技术的速度问题.相比哪个更快,谢谢啊
- 请问怎么使用struts显示session中username的内容?感谢
- java tomcat ibm mq谁有经验?
- 文本框取值问题!
- 有没有精通Servlet和JSP规范的,交个朋友??
- 请问大家都用什么工具来开发和调试JSP?用哪种更好呢?
- 请问,怎么在JSP中实现把查询出来的数据导入到EXCEL中?
- 部标808协议注册成功后,回复的注册应答终端不解析是什么原因
- struts2请求action中的一个方法。可是这个action中的其他方法也会全部被执行??
- JSP的问题,希望得到大家的帮助!
select a.send_id, b.reply_count, c.回帖时间, c.回帖人 from tb_帖子 a,
(select b.send_id, count(b.reply_id) as reply_count from tb_回帖 group by send_id) b,
(select reply_id, send_id, 回帖时间, 回帖人 from tb_回帖
where reply_id in (select max(reply_id) from tb_回帖 group by send_id)) c
where a.send_id = b.send_id(+) and a.send_id = c.send_id(+)
这是ORACLE的数据库,tb_帖子代表存放帖子的数据表,tb_回帖代表存放回帖的数据表。其中C的in执行起来估计会比较慢,还可以替换另一种写法,一时没想起来
select x.reply_id, x.send_id, x.回帖时间, x.回帖人
from tb_回帖 x, (select max(reply_id) as reply_id from tb_回帖 group by send_id) y
where x.reply_id = y.reply_id
C部分可以这么替换,效率应该会好一些