Главная | Статьи | Как обойти ошибку This version of MySQL doesn't yet support LIMIT IN/ALL/ANY/SOME subquery
Aлекс Алекс
Россия, ---

Как обойти ошибку This version of MySQL doesn't yet support LIMIT IN/ALL/ANY/SOME subquery

Мне нужно было вытянуть id-шки, которые не входили бы в набор других id с лимитов в 100, но столкнулся со следующей ошибкой: 

Эта версия MySQL пока еще не поддерживает 'LIMIT & IN/ALL/ANY/SOME subquery'

Изначально запросы выглядел как:

SELECT `id` FROM `maus` WHERE `file` = 1 AND `id` NOT IN (SELECT so.`id` FROM `maus` so LEFT JOIN `sangers` sa ON so.sangerId = sa.`id` GROUP BY sa.`id` ORDER BY so.playOnM DESC LIMIT 100)

Смотрел как ее решить и нашёл решение, что нужно использовать конструкции JOIN. Однако мне это не совсем подходило, но подтолкнуло использовать такую конструкцию как:

SELECT `id` FROM `maus` WHERE `file` = 1 AND `id` NOT IN (SELECT `id` FROM (SELECT so.`id` FROM `maus`so LEFT JOIN `sangers` sa ON so.sangerId = sa.`id` GROUP BY sa.`id` ORDER BY so.playOnM DESC LIMIT 100 ) as a)

Может кому -  то пригодится данное решение :)

Класс:1

Еще статьи:

Оставить комментарий

Осталось символов 1500

Все комментарии

Разместил(а): Алекс 2022-02-26 23:35:12
Спасибо, мне помогло