sql语句 存储过程 编写查看回复数最多的问题

来源:百度知道 编辑:UC知道 时间:2024/05/19 00:14:17
比如我设计了两张表 一张是提问表 id title content replyId 一张回复表 id content 请问如何设计存储过程 可以显示出最多回复的问题呢

你这表设计本身就存在数据冗余的问题,两张表的一对多关系,应该在多的一方加个外键:
提问表:id,title,content;
回复表:id,content,q_id(问题表的id);
修改后存储过程可以这样写
create proce top_one_reply
as
select top 1 q_id
from reply
group by q_id
order by count(*) desc

select * from 提问表 where id in( select top 1 count(id) from 回复表
group by content order by count(id) desc
)