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;