繁体   English   中英

填充了与原始 SQL 表连接的表字符串出现的列

[英]Column populated with table string occurrences joined to original SQL table

我想查询一个显示我的原始数据的表以及一个根据条件('Type' NOT LIKE '%jack%')计算值('ID')出现次数的列

ID 大的 医学 类型
1001 X 1 木材杰克
1002 是的 2 杰克刀
1001 z 3 彼得潘
1005 一个 4 摇滚明星
1005 b 5 纸手
1007 c 6 到月球

示例:出现 2 次 ID = 1001,但只有一个在“类型”列中不包含“%jack%”,因此计数 = 1

我想要的 output 是:

ID 大的 医学 类型 数数
1001 X 1 木材杰克 1
1002 是的 2 杰克刀 0
1001 z 3 彼得潘 1
1005 一个 4 摇滚明星 2
1005 b 5 纸手 2
1007 c 6 到月球 1

您可以使用 window function 来做到这一点:

select * , sum(case when Type NOT LIKE '%jack%' then 1 end) over (partition by ID)  as count 
from table 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM