sql – 如何使用特殊条件进行分组
发布时间:2020-05-25 07:29:28 所属栏目:MsSql 来源:互联网
导读:目前,当我发出这个SQL时,它会获得不同的用户名. 我有一些不同的用户名,代表组,例如GRP_BSN. 我想将所有其他用户名(恰好是数字)分组到一个组中,例如GRP_OTHERS select username, count(*)from hostwhere seq between 0 and 2000group by username;63149 163732
|
目前,当我发出这个SQL时,它会获得不同的用户名. 我有一些不同的用户名,代表组,例如GRP_BSN. 我想将所有其他用户名(恰好是数字)分组到一个组中,例如GRP_OTHERS select username,count(*) from host where seq between 0 and 2000 group by username; 63149 1 63732 1 64110 2 70987 12 76841 4 GRP_BSN 226 GRP_ASN 243 GRP_DSC 93 我可以实现这样的目标: GRP_OTHERS 20 GRP_BSN 226 GRP_ASN 243 GRP_DSC 93 编辑:从答案修改查询 select username,count(*)
from host
where created_dt
-- date selection
between to_date('2012-may-23 00:00:00','yyyy-mon-dd hh24:mi:ss')
and to_date('2012-may-23 23:59:59','yyyy-mon-dd hh24:mi:ss')
GROUP BY CASE
WHEN REGEXP_LIKE(username,'^d+$') THEN 'GRP_OTHERS'
ELSE username
END;
解决方法@bfavaretto很好(1对他),但如果你不知道用户名前缀或他们是不同的,你可以使用类似的东西:GROUP BY CASE
WHEN REGEXP_LIKE(username,'^d+$') THEN 'GRP_OTHERS'
ELSE username
END (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
