Запрос из БД

Здравствуйте.
Подскажите возможно ли вывести из БД ну скажем десять последних записей

SELECT * FROM table ORDER BY id DESC LIMIT 10

и к этим последним записям сделать выборку по условию
Для примера у меня есть 30 записей из них десять последних выводится на экран и две записи которые соответствуют определенному условию WHERE… ну и конечно что бы записи не повторялись если вдруг одна из последних записи будет соответствовать так же и условию?

Так если уже выведены, то чего запрашивать снова? Можно и в коде приложения пройти по ним и найти что надо.

Если надо тогда получить 9, то наверно можно например Вложенные SQL запросы
Во внутреннем последние 10, во внешнем убрать те, что подходят по условию.

Попробовал сделать такой запрос

SELECT `test` FROM `table` WHERE `test` IN (SELECT * FROM `table` WHERE test='value') ORDER BY id DESC LIMIT 10

в ответ получаю ошибку

#1241 - Операнд должен содержать 1 колонок

Не понял почему тут эта ошибка, но этот вложенный запрос тут не имеет смысла, будет 10 результатов как и при просто

SELECT * FROM `table` WHERE `test`='value' ORDER BY id DESC LIMIT 10

Сейчас поясню что я хочу получить на выходе (конечно если получится сделать это одним запросом.

Для примера:

Есть таблица которая содержит 100 записей. У этих записей есть ячейка test по умолчанию значение NULL.
У записей с id 1, 3, 5, 10 ячейка test имеет значение value. Так вот как вывести 10 последних записей которые на данный момент имеют id с 91 по 100 + 4 дополнительных записи с id 1, 3, 5, 10
Количество записей может всегда меняться. Так же может случится так что в последней из 10 записи значение ячейки test может быть value и эта запись должна вывестись один раз без повтора

Мне в голову приходит только выполнения двух запросов в первом это вывести 10 последних записи и во втором вывести уже поиск по условию НО хотелось бы всё сделать в одном запросе

у меня стойкое ощущение, что Вы придумали себе лишние сущности и пытаетесь получить не то, что именно Вам нужно, но, если я понял Вас правильно, попробуйте так:

(
  SELECT * FROM `TABLE1`
  ORDER BY id Desc LIMIT 10
)UNION (
  SELECT * FROM `TABLE1` where `test` = 'value'
)
ORDER BY id ASC

Я не чего не придумывал просто не знал как правильно сделать.

Да Вы меня правильно поняли.

Спасибо Вам большое за помощь.