sql查询问题
答案:2 悬赏:80
解决时间 2021-11-17 00:28
- 提问者网友:呆萌心雨
- 2021-11-16 06:59
a,b,c三个字段。怎么统计去重后b字段中c的不同值的数量,b字段相同的话取a字段值最大的b字段值。
最佳答案
- 二级知识专家网友:兮沫♡晨曦
- 2021-11-16 07:56
with T As (
SELECt max(x.[Id]) as tId,max(x.[A]) as tA,x.[B] as tB
From t_Table x
Group by x.[B]
)
Select count(distinct y.[C]) From T
Left Join {TableT} y on y.[Id] = T.tId
方法是这样,具体怎么做看你项目的需求了,这里的max(x.id) 是拿最大的ID,所以结果可能不是你要的,自己对照方法改改。
SELECt max(x.[Id]) as tId,max(x.[A]) as tA,x.[B] as tB
From t_Table x
Group by x.[B]
)
Select count(distinct y.[C]) From T
Left Join {TableT} y on y.[Id] = T.tId
方法是这样,具体怎么做看你项目的需求了,这里的max(x.id) 是拿最大的ID,所以结果可能不是你要的,自己对照方法改改。
全部回答
- 1楼网友:闲懒诗人
- 2021-11-16 08:17
你的数据库中,有用的是学号,编号没有很大意义,只是为了输出结果,对吧。
但输出查询,要加个编号是没问题,只是服务器工作量大了些,不如写到程序里面吧。
下面一个sql给你参考
select identity(int,1,1) as x ,* into #tmp from tb
select * from #tmp
drop table #tmp
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯