这个语句
select distinct users.nickname,visit, users.userid,users.username,users.logintimes,users.regdate,
(select distinct count(blog.userid) from blog where blog.userid=users.userid) blog,
(select distinct count(reply.userid) from reply where reply.userid=users.userid) reply
,datediff(day,regdate,getdate()) days
from users,blog,reply在查询分析器里居然要2'40''秒,我郁闷的很
那位大哥麻烦看一下(user,blog,reply只有不到2000条记录)
select distinct users.nickname,visit, users.userid,users.username,users.logintimes,users.regdate,
(select distinct count(blog.userid) from blog where blog.userid=users.userid) blog,
(select distinct count(reply.userid) from reply where reply.userid=users.userid) reply
,datediff(day,regdate,getdate()) days
from users,blog,reply在查询分析器里居然要2'40''秒,我郁闷的很
那位大哥麻烦看一下(user,blog,reply只有不到2000条记录)
[blog]=count(blog.userid),[reply]=count(reply.userid)
from users,blog,reply
where blog.userid=users.userid and reply.userid=users.userid
group by users.nickname,visit, users.userid,users.username,users.logintimes,users.regdate
[blog]=count(blog.userid),[reply]=count(reply.userid),[days]=datediff(day,regdate,getdate())--这里最好不要用getdate函数,指定时间这样会快点
from users,blog,reply
where blog.userid=users.userid and reply.userid=users.userid
group by users.nickname,visit, users.userid,users.username,users.logintimes,users.regdate
SELECT U.nickname,visit, U.userid,U.username,U.logintimes,U.regdate,
B.blog, R.reply, DATEDIFF(DAY,regdate,getdate()) AS days
FROM USERS U
LEFT JOIN(SELECT USERID, COUNT(1) AS blog FROM blog GROUP BY USERID)B
ON U.USERID = B.USERID
LEFT JOIN(SELECT USERID, COUNT(1) AS reply FROM reply)R
ON U.USEID = R.USERID