записей с ticket_id=56412. Записей с ticket_id > 60000 нет, никаких символов перед 56412 нет. Как могла появиться разница в количестве? Опишите ваши действия.
- SELECT count(*) FROM tickets_messages WHERE ticket_id=56412; возвращает 5 записей
- SELECT count(*) FROM tickets_messages WHERE ticket_id like '%56412'; возвращает 7 записей
Не может ли быть такого, что в первом запросе нам выдают тип данных "INT", а во втором - "VARCHAR"?
СУБД какая?
Так выбери эти 7 записей и глазами на них посмотри, тожэ мне проблема.
есть запись с ticket_id = -56412 или там -10050056412, во втором запросе идёт каст id в строку со знаком
А вопрос-то какой?
Как могла появиться разница в количестве?
Ну так а посмотреть не счётчик, а просто список строк и понять почему нельзя?
Тогда было бы вот так - SELECT count(*) FROM tickets_messages WHERE ticket_id like '56412%';
А чё за бред где like по числовому полю ?
Мы знаем что есть всего 7 записей с ticket_id=56412 SELECT count(*) FROM tickets_messages WHERE ticket_id=56412; возвращает 5 записей Эти два утверждения как-то не вяжутся друг с другом.
почему со знаком ?
я зачеркнул это, глупость написана
Ну тут явно проблема в том, что 2 записи имеют пробел в начале. like отдаст такие значения, а = нет, а вот почему прочитай доку как работает like и = в sql
пробел в начале противоречит постановке задачи "никаких символов перед 56412 нет"
в задании не сказано, что это таблица так что чисто технически - запрос может выполняться к вью, а во вью может быть спрятано что-то типа такого: create table foo(id int); insert into foo (id) values (56412), (56412), (56412), (56412), (56412), (56412), (56412); create view v1 as (select * from foo where id = 56412 LIMIT 5) union all select -56412 union all select -56412; select count(*) from foo; -- 7 select count(*) from v1 where id = 56412; -- 5 select count(*) from v1 where id like '%56412'; -- 7 формально правило соблюдается, записей физически 7, но получаешь ты 5 но да, чтобы такое придумать на тестовом - нужно быть тем еще наркоманом
не соблюдается условие "Мы знаем что есть всего 7 записей с ticket_id=56412. "
Обсуждают сегодня