永发信息网

请教一个sql去重排序求和的问题

答案:3  悬赏:50  手机版
解决时间 2021-03-10 03:11
  • 提问者网友:遮云壑
  • 2021-03-09 13:02
请教一个sql去重排序求和的问题
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-03-09 14:05
我理解太差了,没有看明白……
取和最大的前两名
select top 2 name from (
select name,sum(num) n from table
group by name) t
where t.n desc

不包含前两名的所有人
select name from table 
where name not in(
select top 2 name from (
select name,sum(num) n from table
group by name) t
where t.n desc
)

名字取出了,那么现在就求和,前面的只是给你看看,最终综合成下面这样的一条语句,如果你需要效率高点,将not in修改为not exists,还有,你给的东东也不全,我就按照大概意思手打出来的,要是有错误,见谅,但是思路和这个差不多,你看看是不是你要的
前两名分组求和
select top 2 name,n from (
select name,sum(num) n from table
group by name) t
where t.n desc

 union all

其他的求和,使用union链接
select '其他',
(select sum(num) from table
where 
name not in(
select top 2 name from (
select name,sum(num) n from table
group by name) t
where t.n desc
))
全部回答
  • 1楼网友:愁杀梦里人
  • 2021-03-09 16:51
总和是怎么算出来的?
  • 2楼网友:痴妹与他
  • 2021-03-09 15:34
a.b.c条件,sun函数返回数值总和,值排列10个币
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯