by截取字段 group_sqlserver group by后获取其他字段(多种方法)

大家都知道用group by的话,select 后面指定的字段必须与group by后面的一致。group by 只有个别字段,如果拿出其他未分组的字段信息呢?在网上搜了下,

总结如下:

使用了group by 之后,就要求select后面的字段包含在group by 或聚合函数里面,这时如果想读取其它字段则无法实现。

将你需要的字段放进max或min函数中,max:支持字符类型、数字类型。

select

max(id) as id,username,password from users

group by username,password

order by id desc

或者用:

select * from

(select part from employee group by part) as t1

inner join

(select distinct englishname from employee where part in (select part from employee group by part )) as t2

on t1.part =t2.part

参考:

select v.p ,v.a,v.b,v.c,v.d,v.e,v.f,v.g,v.h,v.i,v.j,v.k,v.l,v.m,v.m,v.n,v.o from vegaga v right join (

select min(id) as id,a,b,c,d,e,f,g,h,n from vegaga where a is not null group by a,b,c,d,e,f,g,h,n

) as v1 on v1.id=v.id order by v.id

我在sqlserver中这样写,达到了我想要的效果。

select max(CrmMemberID) as CrmMemberID,MemberName,COUNT("MemberName") as count_name

from [zfnewdb].[dbo].[tblCrmMemberAssign]

group by MemberName

having COUNT("MemberName") = 1

不仅拿到了MemberName字段,还拿到了我想要的CrmMemberID字段。想要其它字段继续像上面的CrmMemberID字段那样加上就行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值