mysql> describe events;
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| city_id | int(11) | NO | MUL | NULL | |
Следующий sql вызывает ошибку.
SELECT CONCAT_WS('',users.fname,' ', users.lname) as user_name,
COUNT(events.id) AS events_count
FROM users
INNER JOIN events ON users.id = events.user_id
INNER JOIN cities ON cities.id = events.city_id
GROUP BY
users.id
WHERE
events.city_id = 18
ORDER BY
COUNT(events.id) DESC
LIMIT 10
Ошибка
ActiveRecord::StatementInvalid: Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE
events.city_id = 18
Если я удаляю предложение WHERE, то все работает нормально.