SQL:多个最小值

时间:2013-10-01 15:45:32

标签: mysql sql min

我正在使用mySQL和数据库主服务器,我无法为第二列的每个不同值获取一列的最小值。

我有一张桌子:

Gene_exon (varchar), Probe_ID (Varchar) PRIMARY KEY, DISTANCE(INT), START(INT), STOP(INT).

每个外显子有多个条目,这个外显子与不同探针之间的距离。

对于每个外显子,我想找到最小距离对应的probe_ID,启动和停止

当我指定一个外显子时,我可以得到正确的结果,但我希望每个外显子都有一个查询的正确结果!

任何想法?

提前致谢

修改 答对了!通过使用group by和下面的代码,我设法找到了我想要的东西。每个外显子的最小距离,它具有所有正确的信息:

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;

1 个答案:

答案 0 :(得分:2)

使用GROUP BY。诀窍是除了你得到min的那一列之外的每一列都在GROUP BY:

SELECT a,b,c, min(d)
FROM myTable
GROUP BY a,b,c
ORDER BY a,b,c