求某字段相同另一字段不同SQL语句
发布网友
发布时间:2024-10-13 23:27
我来回答
共3个回答
热心网友
时间:2024-10-14 11:06
有没有可能有iD号不同,编码相同,名称相同的情况存在?
如果没有这种可能那就简单一些,有的话就麻烦一些。
如果没有这种可能,那也就是说只可能出现ID号码不同,编码相同,名称不同的情况。
那么select * from table where 编码 in (select 编码 from table group by 编码 having count(*)>1)
说明:子查询中求的是以编码分组,查询表中存在两个及以上相同编码的编码,然后再去表中找到这些编码并列出来。
如果存在iD号不同,编码相同,名称相同的情况,那么这种情况需不需要剔除,如果需要剔除,那么就需要加一个子句(这个需要测试,我不确定能不能直接用),如果不需要剔除,那么上面的语句也能用。
需要剔除的话,
select * from table where 编码 in (select 编码 from table group by 编码 having count(*)>1 minus select 编码 from table group by 编码,名称 having count(*)>1)
当然用开窗函数的话,也可以做,那个就自己好好考虑考虑吧。
热心网友
时间:2024-10-14 11:08
select 部门,sum(decode(正负,'Y',分值,0)) 正分,sum(decode(正负,'N',分值,0)) 负分
group by 部门
热心网友
时间:2024-10-14 11:02
计数大于1,在匹配回来就行