Я кодирую поисковик фильма под названием Movieovo, я хочу выбрать лучшие 5 строк (ссылки на фильмы) из каждой группы (название фильма), но я встретился с проблемой в этом SQL запрос:MySQL пользовательская переменная добавление: '+1' return '+2'
SELECT link_movie_id, link_id,
@num := if(@link_movie_id = link_movie_id, @num + 1, 1) as row_number,
@link_movie_id := link_movie_id as dummy
FROM link GROUP BY link_movie_id, link_id HAVING row_number <= 5 LIMIT 30
Результат: (Слишком много символов, так что я загрузить как изображение) http://i.imgur.com/phFzUF1.png
Вы можете увидеть "row_number" не +1 каждый раз
Я попробовал прямо в командной строке MySQL, показывает мне то же самое res Ульты, может ли кто-нибудь мне помочь? Я уже потратил 5 часов на эту проблему.
Измените свой вопрос с помощью некоторых данных образца? – Mihai
Странно, что произойдет, если вы попробуете @ num: = if (@ link_movie_id = link_movie_id, @ num + 0.5, 1) в качестве row_number –
Добавьте 'JOIN (SELECT @num: = 0) x', чтобы получить инициализацию @num. –