为了账号安全,请及时绑定邮箱和手机立即绑定

sql server语句问题 如果读取发表文章最多的10个用户。。用户文章2个表

sql server语句问题 如果读取发表文章最多的10个用户。。用户文章2个表

慕莱坞森 2018-12-06 11:21:26
如果读取发表文章最多的10个用户。。用户文章2个表 文章表里面有uid 作为表示   不存在主外建 仅仅是文字表里面有个uid  是用户的id   不知道大大能不能明白   3q  sql server 2005数据库
查看完整描述

5 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

你们都是坑分的 。。我写出来了 。。贴出来吧

SELECT * FROM wj_User WHERE wj_ID IN 
(SELECT TOP 10 A.n_uid FROM 
(SELECT COUNT(*) c,n_uid FROM News WHERE n_uid!='0' GROUP BY News.n_uid ) A ORDER BY A.c DESC )
查看完整回答
反对 回复 2019-01-07
?
喵喔喔

TA贡献1735条经验 获得超5个赞

@单音节:  楼主明确了表结构,
语句优化下:

SELECT  *
FROM    wj_User a
        INNER JOIN ( SELECT TOP 10
                            A1.n_uid, COUNT(*) AS Total
                     FROM   News A1
                     WHERE  A1.n_uid != '0'
                     GROUP BY A1.n_uid
                     ORDER BY Total DESC
                   ) b ON a.wj_ID = b.n_uid

效率应该好于in的查询,并且声调了冗余的子查询选择 前10名

查看完整回答
反对 回复 2019-01-07
?
郎朗坤

TA贡献1921条经验 获得超9个赞

SELECT TOP 10
        uid,
        COUNT(*) AS Total
FROM    topic
GROUP BY uid
ORDER BY Total DESC
查看完整回答
反对 回复 2019-01-07
  • 5 回答
  • 0 关注
  • 579 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信