日期:2014-05-16  浏览次数:20721 次

类似论坛那种按照回复量排序
有两个表
create table mess(
id counter primary key,
title varchar(50),
m_name varchar(50),
content text,
uptime datetime
)

create table re_mess(
id counter primary key,
re_id int,
re_name varchar(50),
content text,
re_uptime datetime
)
mess是存放主留言的
re_mess是存放回复留言的 re_mess 中的 re_id 字段对应 mess 表中的 id 字段
求一个可以按照 回复量排序的sql语句
我自己写了个 但是不能排序
SELECT TOP 15 (select count(id) from re_mess where re_id=mess.id) AS paixu,* FROM mess ORDER BY paixu DESC,mess.id DESC;
仅供参考

------解决方案--------------------
SQL code
select top 15 a.*,b.cnt
from mess a inner join (
    select re_id,count(*) as cnt
    from re_mess
    group by re_id
) b on a.id=b.re_id
order by b.cnt desc