У меня есть запрос ранга с левым соединением. Попытка ограничить результаты 3 строками, но вместо этого получить все результаты.MySQL LIMIT не работает/область
SELECT
CONCAT(users.name, users.surname) n,
total_time v,
1+(SELECT count(*) from app a WHERE a.total_time > b.total_time) r
FROM app b
LEFT JOIN users
ON b.user_id = users.user_id
ORDER by total_time DESC
LIMIT 3
Я знаю, что я мог бы обернуть его в другой выбор, а затем ограничить его (это, как это было и раньше работал), но изменение необходимо, так как это является частью более сложного запроса.
Запрос реагирует на DESC
на ASC
изменение, но на LIMIT val
нет. Если изменить b.user_id
к app.user_id
- Он бросает #1054 - Unknown column 'app.user_id' in 'on clause'
Как ограничить это, чтобы получить 3 ряда в лучшем случае? Где я использую область LIMIT
?
Возможны ли [SQLFiddle] (http://sqlfiddle.com/)? – Phil
Попробуйте этот ЗАКАЗАТЬ по a.total_time DESC – Yogesh
Ошибка # 1054, потому что в таблице приложений уже есть ALIAS – Rigel1121