从表中随机选择特定结果以获取特定分区

时间:2015-05-30 14:16:54

标签: sql database group-by partition-by

我想选择对应于' B'只要名称有重复项。如果没有重复,我想显示记录。请参阅示例表[TableInfo]。请帮我解决 SQL查询

TableInfo

Name    Type    Value
------------------------
Name1   A       5
Name1   B   10
Name1   C   11
Name5   B   88
Name5   C   98
Name6   A   24
Name6   B   21
Name2   B   21
Name3   C   55
Name4   A   74

预期结果:

Name    Type    Value
------------------------
Name1   B   10
Name5   B   88
Name6   B   21
Name2   B   21
Name3   C   55
Name4   A   74

1 个答案:

答案 0 :(得分:0)

我想你想要这个:

select i.*
from info i
where type = 'B'
union all
select i.*
from info i
where not exists (select 1 from info i2 where i2.name = i.name and i2.type = 'B');