有一个表是Notice
格式如下:
- HTML code
GRP PR_GI refseq1 9625921 NC_0013481 9625992 NC_0013501 9628039 NC_0016501 52139285 NC_0062731 52139329 NC_0062731 13095591 NC_0026652 9625922 NC_0013482 9625993 NC_0013502 9628040 NC_0016502 9628075 NC_0016502 9629392 NC_001806
取 GRP,PR_GI,refseq,
其中,在同一个GRP中,如果存在两个或两个以上PR_GI在同一个refseq中,则提取出来。
上面的示例结果如下:
- HTML code
GRP PR_GI refseq1 52139285 NC_0062731 52139329 NC_0062732 9628040 NC_0016502 9628075 NC_001650
------解决方案--------------------------------------------------------
- SQL code
select *from Notice awhere exists (select 1 from Notice where GRP=a.GRP and refseq=a.refseq and PR_GI<>a.PR_GI)
------解决方案--------------------------------------------------------
select a.* from tt a
inner join
(select GRP,refseq from tt group by GRP,refseq having count(*)>=2) b
on a.refseq=v.refseq and a.GRP=b.GRP
------解决方案--------------------------------------------------------
select GRP,PR_GI,refseq from (
SELECT A.*,
(SELECT COUNT(*) FROM Notice A WHERE A.GRP=B.GRP AND A.refseq=B.refseq) AS num
FROM Notice B) where c.num>1