Добавьте к вашему запросу предикат,
where X < Y
и вы никогда не получите второй ряд, но всегда получите первый.
(Это предполагает, что когда вы писали «два заданных значения», вы имели в виду два различных заданных значения; если два значения могут быть одинаковыми, добавьте предикат where X <= Y
(чтобы избавиться от всех) "перевернутые" строки, где X> Y), а затем добавьте distinct
в список выбора (чтобы свернуть любые две строки, где X == Y, в одну строку).)
В ответ на комментарии:
То есть, если в данный момент ваш запрос select foo, x, y from sometable where foo < 3;
, измените его на select foo, x, y from sometable where foo < 3 and x < y;
или для второго случая (где X и Y не являются разными значениями) select distinct foo, x, y from sometable where foo < 3 and x <= y;
.