2

mySQL とデータベース マスターを使用していますが、2 番目の列の異なる値ごとに 1 つの列の最小値を取得するのに問題があります。

私はテーブルを持っています:

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

各エクソンには、このエクソンと異なるプローブ間の距離を持つ複数のエントリがあります。

各エクソンについて、 min distanceと、対応する probe_ID,start および stopを見つけたいと思います。

エクソンを指定すると正しい結果が得られますが、1 つのクエリですべてのエクソンの正しい結果が必要です。

何か案は?

前もって感謝します

編集: ビンゴ!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;
4

1 に答える 1