我使用的是mySQL和数据库主,对于第二列的每一个不同值,我都很难得到一个列的最小值。
我有张桌子:
Gene_exon (varchar), Probe_ID (Varchar) PRIMARY KEY, DISTANCE(INT), START(INT), STOP(INT).每个外显子有多个条目,每个外显子与不同的探针之间的距离。
对于的每个外显子,我想找到min距离,以及对应的probe_ID,开始和停止。
我可以得到正确的结果,当我指定一个外显子,但我想要正确的结果,每个外显子与一个查询!
有什么想法吗?
提前感谢
编辑:宾果!通过使用group和下面的代码,我已经找到了我想要的东西。每个外显子具有所有正确信息的最小距离:
SELECT gene_exon,probe_id, distance_before_EXON_START, start, stop
FROM probe_location a
WHERE distance_before_EXON_START>0 and NOT EXISTS (SELECT * FROM probe_location B
WHERE distance_before_EXON_START>0 and A.distance_before_EXON_START>b.distance_before_EXON_START AND a.gene_exon = b.gene_exon)
GROUP BY gene_exon, probe_id, start, stop;发布于 2013-10-01 19:32:51
用组按。诀窍是,除了你要得到的每一列之外,每一列都是通过以下方式在组中的:
SELECT a,b,c, min(d)
FROM myTable
GROUP BY a,b,c
ORDER BY a,b,chttps://stackoverflow.com/questions/19120549
复制相似问题