sql统计排序语句

gwins 2010-04-26 03:02:36
有以下三个表,字段如下示:
一个会员表:UID,UName

一个新闻评论表:NID,UID

一个产品评论表:PID,UID

请问如何写这个查询语句,按评论的多少显示会员名称,评论数。
...全文
75 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bl_song 2010-04-27
  • 打赏
  • 举报
回复
不错,记下!
gwins 2010-04-26
  • 打赏
  • 举报
回复
问题已解决,谢谢

SQL语句如下:
Select count(1) As Result,a.uname From 会员表 As A join (Select * From 新闻评论表 Union All Select * from 产品评论表) As B on A.UID=B.UID group by a.uname order by Result desc
gwins 2010-04-26
  • 打赏
  • 举报
回复
还有一个问题,这个具体的评论数如何读取?
--小F-- 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 htl258 的回复:]
SQL code

select uname
from 会员表 a
join (
select * from 新闻评论表
union all
select * from 产品评论表
) b
on a.UID=b.UID
group by Uname order by count(1) desc
[/Quote]
up
老黎 2010-04-26
  • 打赏
  • 举报
回复

--少了group by
select a.*
from 会员表 a
left join
(
select UID,[cnt]=count(1)
from
(
select NID,UID from 新闻评论表
union all
select PID,UID from 产品评论表
) a
group by UID
) b
on a.UID = b.UID
order by isnull(b.cnt,0)
htl258_Tony 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gwins 的回复:]
是统计每个会员的所有评论(新闻评论和产品评论)
[/Quote]
select uname 
from 会员表 a
left join (
select * from 新闻评论表
union all
select * from 产品评论表
) b
on a.UID=b.UID
group by Uname
order by count(b.UID) desc
所有会员这样。
老黎 2010-04-26
  • 打赏
  • 举报
回复

select a.*
from 会员表 a
left join
(
select UID,[cnt]=count(1)
from
(
select NID,UID from 新闻评论表
union all
select PID,UID from 产品评论表
) a
) b
on a.UID = b.UID
order by isnull(b.cnt,0)
gwins 2010-04-26
  • 打赏
  • 举报
回复
是统计每个会员的所有评论(新闻评论和产品评论)
htl258_Tony 2010-04-26
  • 打赏
  • 举报
回复

select uname
from 会员表 a
join (
select * from 新闻评论表
union all
select * from 产品评论表
) b
on a.UID=b.UID
group by Uname order by count(1) desc
htl258_Tony 2010-04-26
  • 打赏
  • 举报
回复
select uname from 会员表 a join 新闻评论表 b on a.UID=b.UID group by Uname order by count(1) desc

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧