当前位置: 首页 > 面试题库 >

如何在特殊情况下分组

段干跃
2023-03-14
问题内容

当前,当我发出此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),但是如果您不了解username前缀或前缀不同,则可以使用类似以下内容的方法

GROUP BY CASE
             WHEN REGEXP_LIKE(username, '^\d+$') THEN 'GRP_OTHERS'
                                                 ELSE username
         END


 类似资料:
  • 有一些您在创建port时的特殊情况,我们在这里提一下。 6.1. 共享库 如果您的port安装了一个或多个共享库,那么请定义一个 USE_LDCONFIG make 变量, 在post-install标记把它注册进共享库 缓冲时会调用bsd.port.mk去运行 ${LDCONFIG} -m来指向新库的安装目录。 (通常是 PREFIX/lib) 同样,您也可以适当的在您的 pke-plist文件

  • 我希望我的字符串使用“,”(逗号),但我的字符串有一些特殊情况请帮助我 输出:<代码>myarray[0]=a,myarray[1]=d,myarray[3]=e,MyArArray[4]=f….. 所需输出 : 请帮帮我……谢谢

  • 如果我正确理解了这个答案,并参考了标准部分[dcl.type.auto.deduct-5],代码: 总是相当于 但是现在问题出现了,如果我把lambda表达式放在中,而不是: 令我惊讶的是,它在gcc和clang中都编译成功。我所经历的震惊的原因在于标准,其中特别指出lambda不应该出现在未赋值的操作数[expr.prim.lambda#2](emphasis mine)中: lambda表达式

  • 如果噪声对连续信道符号的影响是独立的,则可以用一组转换概率来描述。此概率就是发送符号i,收到符号j的概率。最大信道速率可用下式的最大值给出: 其中,我们改变,但保持。由拉格朗日方法可得到以下方程, 。 乘以,并针对s求得,可以证明。设的逆(如果存在的话)为,使得。则: 。 因此, 。 或: 。 这就是用于确定最大值的方程组,其中需要确定C,使得。在完成这一工作后,C为信道容量,是实现这一容量的信道

  • 如果我研究一维上两个球的碰撞检测。假设第一个球在位置0,每帧速度5像素,第二个球在位置3,每帧速度-5像素,那么在下一帧中,第一个球将移动到位置5,第二个球将跳到位置-2。在这种情况下,它们之间没有重叠,因此碰撞检测将失败。我怎么处理这个案子?这里有一张图片来说明:

  • 我目前正在开发一个扫描条形码并将其内容转换为击键的小应用程序。 使用java发送基本信件非常简单。awt。机器人,但一旦需要使用元键来生成角色,它就会变得复杂。关键事件。例如,VK_BACK_SLASH存在并映射到我键盘上的右键,但发送该键的按下和释放不会导致反斜杠,因为它缺少ALT-GR元键(德语布局)。我现在可以继续并发送VK_ALT_GRAPH键代码的按下和释放,但一旦使用不同的键盘布局,这