Попробуйте найти минимальный и максимальный вес:
SELECT *
FROM yourTable
WHERE
weight = (SELECT MIN(weight) FROM yourTable) OR
weight = (SELECT MAX(weight) FROM yourTable);
Обратите внимание, что если для минимального / максимального веса связано более одной записи, то приведенный выше запрос может дать более 2 записей.Если возможны связи, то вы должны предоставить логику того, как с этим справиться.
Если вы используете MySQL 8 или более позднюю версию и имеете доступ к ROW_NUMBER
, то здесь есть простое решение:
SELECT *
FROM
(
SELECT *,
ROW_NUMBER() OVER (ORDER BY weight) rn1,
ROW_NUMBER() OVER (ORDER BY weight DESC) rn2
FROM yourTable
) t
WHERE 1 IN (rn1, rn2);