读书人

SQL语句这个有比较大的难度哦

发布时间: 2012-03-11 18:15:39 作者: rapoo

求一个SQL语句,这个有比较大的难度哦
现在有一个数据库,如下

HTML code
QUERY_GI    HIT_GI        QUERY_REF    HIT_REF     SCORE155041721     155041492     NC_004812     NC_006560     1205155041721     155041491     NC_004812     NC_006560     1008155041721     9629382     NC_004812     NC_001806     996155041721     51557541     NC_004812     NC_006151     746155041721     50313302     NC_004812     NC_001491     718155041721     9629874     NC_004812     NC_001847     714155041721     40787926     NC_004812     NC_005261     696155041721     9629790     NC_004812     NC_001844     694155041721     13242453     NC_004812     NC_002686     670155041721     9625933     NC_004812     NC_001348     662


其中QUERY_GI,HIT_GI为编号,QUERY_REF与HIT_REF分别为QUERY_GI,HIT_GI所在的区域。Score为得分。

现在要得到QUERY_GI,HIT_GI,要求如下:

如果有两个或者两个以上的HIT_GI在同一个HIT_REF中,则选取Score最高的HIT_GI.
比如:
HTML code
QUERY_GI    HIT_GI        QUERY_REF    HIT_REF     SCORE155041721     155041492     NC_004812     NC_006560     1205155041721     155041491     NC_004812     NC_006560     1008



155041492和155041491都在NC_006560区域中,
则选取
QUERY_GI=155041721 HIT_GI=155041492
就可以了
QUERY_GI=155041721和HIT_GI=155041491就不用选取了。

[解决办法]
没看明白 hit_ref惟一吗?如果惟一就 max(score) group by hit_ref

[解决办法]
你的汉语能力很可怜。

分析了一下斧数据,估计你想要的是
"取QUERY_GI , HIT_REF 相同记录中 SCORE 最大的一条记录"

SQL code
db2# select * from t_yukiooy; 
+-----------+-----------+-----------+-----------+-------+
| QUERY_GI | HIT_GI | QUERY_REF | HIT_REF | SCORE |
+-----------+-----------+-----------+-----------+-------+
| 155041721 | 155041492 | NC_004812 | NC_006560 | 1205 |
| 155041721 | 155041491 | NC_004812 | NC_006560 | 1008 |
| 155041721 | 9629382 | NC_004812 | NC_001806 | 996 |
| 155041721 | 51557541 | NC_004812 | NC_006151 | 746 |
| 155041721 | 50313302 | NC_004812 | NC_001491 | 718 |
| 155041721 | 9629874 | NC_004812 | NC_001847 | 714 |
| 155041721 | 40787926 | NC_004812 | NC_005261 | 696 |
| 155041721 | 9629790 | NC_004812 | NC_001844 | 694 |
| 155041721 | 13242453 | NC_004812 | NC_002686 | 670 |
| 155041721 | 9625933 | NC_004812 | NC_001348 | 662 |
| 155041721 | 10140967 | NC_004812 | NC_002531 | 468 |
| 155041721 | 51518047 | NC_004812 | NC_006146 | 463 |
| 155041721 | 82503235 | NC_004812 | NC_007605 | 461 |
| 155041721 | 139424508 | NC_004812 | NC_009334 | 460 |
| 155041721 | 24943128 | NC_004812 | NC_004367 | 452 |
| 155041721 | 13095623 | NC_004812 | NC_002665 | 448 |
| 155041721 | 9629613 | NC_004812 | NC_001826 | 443 |
| 155041721 | 66476626 | NC_004812 | NC_007016 | 435 |
| 155041721 | 18653853 | NC_004812 | NC_003401 | 434 |
| 155041721 | 9628049 | NC_004812 | NC_001650 | 430 |
| 155041721 | 9845402 | NC_004812 | NC_002512 | 425 |
| 155041721 | 9631237 | NC_004812 | NC_001987 | 414 |
| 155041721 | 61660218 | NC_004812 | NC_004065 | 409 |
| 155041721 | 51874301 | NC_004812 | NC_001716 | 406 |
| 155041721 | 139472838 | NC_004812 | NC_009333 | 400 |
| 155041721 | 9626002 | NC_004812 | NC_001350 | 389 |


| 155041721 | 52139279 | NC_004812 | NC_006273 | 381 |
| 155041721 | 51556602 | NC_004812 | NC_006150 | 380 |
| 155041721 | 20026696 | NC_004812 | NC_003521 | 379 |
| 155041721 | 14251103 | NC_004812 | NC_002794 | 374 |
| 155041721 | 9628383 | NC_004812 | NC_001664 | 365 |
| 155041721 | 9633150 | NC_004812 | NC_000898 | 359 |
| 9625915 | 13242434 | NC_001348 | NC_002686 | 5695 |
| 9625915 | 50313284 | NC_001348 | NC_001491 | 4432 |
| 9625915 | 9629770 | NC_001348 | NC_001844 | 4394 |
| 9625915 | 40787908 | NC_001348 | NC_005261 | 4159 |
| 9625915 | 51557522 | NC_001348 | NC_006151 | 4131 |
| 9625915 | 9629856 | NC_001348 | NC_001847 | 4111 |
| 9625915 | 9629399 | NC_001348 | NC_001806 | 3820 |
| 9625915 | 9629288 | NC_001348 | NC_001798 | 3811 |
| 9625915 | 56694741 | NC_001348 | NC_006560 | 3678 |
| 9625915 | 30984447 | NC_001348 | NC_004812 | 3657 |
| 9625915 | 9631215 | NC_001348 | NC_001987 | 1227 |
| 9625915 | 9625981 | NC_001348 | NC_001350 | 1204 |
| 9625915 | 13095602 | NC_001348 | NC_002665 | 1204 |
| 9625915 | 139472823 | NC_001348 | NC_009333 | 1202 |
| 9625915 | 66476594 | NC_001348 | NC_007016 | 1184 |
| 9625915 | 18653831 | NC_001348 | NC_003401 | 1177 |
| 9625915 | 51518066 | NC_001348 | NC_006146 | 1164 |
| 9625915 | 82503253 | NC_001348 | NC_007605 | 1160 |
| 9625915 | 139424528 | NC_001348 | NC_009334 | 1153 |
| 9625915 | 24943108 | NC_001348 | NC_004367 | 1139 |
| 9625915 | 10140947 | NC_001348 | NC_002531 | 1137 |
| 9625915 | 9628027 | NC_001348 | NC_001650 | 1136 |
| 9625915 | 9629568 | NC_001348 | NC_001826 | 1100 |
| 9625915 | 51874281 | NC_001348 | NC_001716 | 1062 |
| 9625915 | 9628359 | NC_001348 | NC_001664 | 1053 |
| 9625915 | 9633128 | NC_001348 | NC_000898 | 1052 |
| 9625915 | 52139259 | NC_001348 | NC_006273 | 973 |
| 9625915 | 14251073 | NC_001348 | NC_002794 | 964 |
| 9625915 | 9845371 | NC_001348 | NC_002512 | 932 |
| 9625915 | 20026677 | NC_001348 | NC_003521 | 618 |
| 9625915 | 51556577 | NC_001348 | NC_006150 | 592 |
+-----------+-----------+-----------+-----------+-------+
63 rows in set (0.00 sec)

db2# select *
-> from t_yukiooy a
-> where not exists (
-> select 1 from t_yukiooy
-> where HIT_REF=a.HIT_REF
-> and QUERY_GI=a.QUERY_GI
-> and SCORE>a.SCORE);
+-----------+-----------+-----------+-----------+-------+
| QUERY_GI | HIT_GI | QUERY_REF | HIT_REF | SCORE |
+-----------+-----------+-----------+-----------+-------+
| 155041721 | 155041492 | NC_004812 | NC_006560 | 1205 |
| 155041721 | 9629382 | NC_004812 | NC_001806 | 996 |
| 155041721 | 51557541 | NC_004812 | NC_006151 | 746 |
| 155041721 | 50313302 | NC_004812 | NC_001491 | 718 |
| 155041721 | 9629874 | NC_004812 | NC_001847 | 714 |
| 155041721 | 40787926 | NC_004812 | NC_005261 | 696 |
| 155041721 | 9629790 | NC_004812 | NC_001844 | 694 |
| 155041721 | 13242453 | NC_004812 | NC_002686 | 670 |


| 155041721 | 9625933 | NC_004812 | NC_001348 | 662 |
| 155041721 | 10140967 | NC_004812 | NC_002531 | 468 |
| 155041721 | 51518047 | NC_004812 | NC_006146 | 463 |
| 155041721 | 82503235 | NC_004812 | NC_007605 | 461 |
| 155041721 | 139424508 | NC_004812 | NC_009334 | 460 |
| 155041721 | 24943128 | NC_004812 | NC_004367 | 452 |
| 155041721 | 13095623 | NC_004812 | NC_002665 | 448 |
| 155041721 | 9629613 | NC_004812 | NC_001826 | 443 |
| 155041721 | 66476626 | NC_004812 | NC_007016 | 435 |
| 155041721 | 18653853 | NC_004812 | NC_003401 | 434 |
| 155041721 | 9628049 | NC_004812 | NC_001650 | 430 |
| 155041721 | 9845402 | NC_004812 | NC_002512 | 425 |
| 155041721 | 9631237 | NC_004812 | NC_001987 | 414 |
| 155041721 | 61660218 | NC_004812 | NC_004065 | 409 |
| 155041721 | 51874301 | NC_004812 | NC_001716 | 406 |
| 155041721 | 139472838 | NC_004812 | NC_009333 | 400 |
| 155041721 | 9626002 | NC_004812 | NC_001350 | 389 |
| 155041721 | 52139279 | NC_004812 | NC_006273 | 381 |
| 155041721 | 51556602 | NC_004812 | NC_006150 | 380 |
| 155041721 | 20026696 | NC_004812 | NC_003521 | 379 |
| 155041721 | 14251103 | NC_004812 | NC_002794 | 374 |
| 155041721 | 9628383 | NC_004812 | NC_001664 | 365 |
| 155041721 | 9633150 | NC_004812 | NC_000898 | 359 |
| 9625915 | 13242434 | NC_001348 | NC_002686 | 5695 |
| 9625915 | 50313284 | NC_001348 | NC_001491 | 4432 |
| 9625915 | 9629770 | NC_001348 | NC_001844 | 4394 |
| 9625915 | 40787908 | NC_001348 | NC_005261 | 4159 |
| 9625915 | 51557522 | NC_001348 | NC_006151 | 4131 |
| 9625915 | 9629856 | NC_001348 | NC_001847 | 4111 |
| 9625915 | 9629399 | NC_001348 | NC_001806 | 3820 |
| 9625915 | 9629288 | NC_001348 | NC_001798 | 3811 |
| 9625915 | 56694741 | NC_001348 | NC_006560 | 3678 |
| 9625915 | 30984447 | NC_001348 | NC_004812 | 3657 |
| 9625915 | 9631215 | NC_001348 | NC_001987 | 1227 |
| 9625915 | 9625981 | NC_001348 | NC_001350 | 1204 |
| 9625915 | 13095602 | NC_001348 | NC_002665 | 1204 |
| 9625915 | 139472823 | NC_001348 | NC_009333 | 1202 |
| 9625915 | 66476594 | NC_001348 | NC_007016 | 1184 |
| 9625915 | 18653831 | NC_001348 | NC_003401 | 1177 |
| 9625915 | 51518066 | NC_001348 | NC_006146 | 1164 |
| 9625915 | 82503253 | NC_001348 | NC_007605 | 1160 |
| 9625915 | 139424528 | NC_001348 | NC_009334 | 1153 |
| 9625915 | 24943108 | NC_001348 | NC_004367 | 1139 |
| 9625915 | 10140947 | NC_001348 | NC_002531 | 1137 |
| 9625915 | 9628027 | NC_001348 | NC_001650 | 1136 |
| 9625915 | 9629568 | NC_001348 | NC_001826 | 1100 |
| 9625915 | 51874281 | NC_001348 | NC_001716 | 1062 |
| 9625915 | 9628359 | NC_001348 | NC_001664 | 1053 |
| 9625915 | 9633128 | NC_001348 | NC_000898 | 1052 |
| 9625915 | 52139259 | NC_001348 | NC_006273 | 973 |
| 9625915 | 14251073 | NC_001348 | NC_002794 | 964 |
| 9625915 | 9845371 | NC_001348 | NC_002512 | 932 |
| 9625915 | 20026677 | NC_001348 | NC_003521 | 618 |


| 9625915 | 51556577 | NC_001348 | NC_006150 | 592 |
+-----------+-----------+-----------+-----------+-------+
62 rows in set (0.02 sec)


db2#

读书人网 >IBM DB2

热点推荐