> Сделать условие по первой строке с числом в сериализованном массиве внутри строки
Коротко: Нельзя. А вернее можно, но это придётся делать через хранимые процедуры и ни на какие кэши это не ляжет. И вообще так делать нельзя по этическим соображениям.
К этому можно придти даже логическим путём:
1. База данных воспринимает этот "массив", как строку. Значит надо как-то распрасить этот массив - Пусть будет волшебная хранимая процедура PARSE_ARRAY(str), которая вернёт нам новую табличку с элементами массива
2. В массиве хрянятся СТРОКИ, а не числа. значит нам надо их тоже спарсить - к счатью во многих СУБД есть такие функции из коробки. Что за СУБД используется не сказано, так что пусть будет PARSE_INT(str), которая вернёт там число.
Тогда запрос будет выглядеть как-то так:
SELECT * from table_name t
where (SELECT PARSE_INT(value) > 1 FROM PARSE_ARRAY(t.array) a LIMIT 1)
Но повторюсь, что так делать нельзя - в большинстве реляционных баз данных нет понятия "массив", и оно будет очень сильно тормозить