做就是了:
SELECt colA , colB , colCFROM mytableWHERe ( ('A', 'B', 'C') <= (colA, colB, colC ) ) AND ( (colA, colB, colC) <= ('D', 'E', 'F' ) )ORDER BY colA, colB, colCLIMIT 1;它工作正常。我怀疑它也应该很快。
这是等效的,但它可能具有更好的性能,具体取决于您的表:
SELECt m.colA , m.colB , m.colCFROM mytable mWHERe ( ('A', 'B', 'C') <= (m.colA, m.colB, m.colC) ) AND ( (m.colA, m.colB, m.colC) <= ('D', 'E', 'F') ) AND NOT EXISTS ( SELECt 1 FROM mytable b WHERe (b.colA, b.colB, b.colC) < (m. colA, m.colB, m.colC) AND ( ('A', 'B', 'C') <= (b.colA, b.colB, b.colC) ) );


