У меня есть пример утверждения, как показано ниже;Получить последнюю строку «или» в Mysql
SELECT * FROM abctable WHERE (_variableX >= DATE_SUB(NOW(), INTERVAL 1 MONTH) AND _variableY IS NULL) OR (_variableY > NOW() - INTERVAL 1 MONTH);
То, что я хочу сделать это, если я получаю несколько результатов «или» заявление, которое OR (_variableY > NOW() - INTERVAL 1 MONTH);
, я просто хочу, чтобы получить последнюю строку этого.
Если я ограничиваю только оператор OR
, я получаю сообщение об ошибке, и если я ограничу всю инструкцию, тогда у меня будет только результат X. У меня будет несколько результатов из обоих случаев, но я хочу получить весь результат от (_variableX >= DATE_SUB(NOW(), INTERVAL 1 MONTH) AND _variableY IS NULL)
, и я хочу получить только последний ряд из OR (_variableY > NOW() - INTERVAL 1 MONTH);
заявление.
Как я могу управлять им самым простым способом?
Заранее благодарен.
Edit: Я сожалею, что я забыл упомянуть, что я хочу получить только последний элемент каждого уникального результата от второго утверждения
Спасибо за ответ, я сожалею, что я забыл упомянуть, что я только хочу, чтобы получить последний элемент каждого уникального элемента, она может быть выполняется с помощью 'DISTINCT', используя' UNION'? –
Вы можете попробовать поставить DISTINCT, как показано, и это может сработать. – djacobsdev
Я пробовал, к сожалению, он не работает –