Как найти человека, который опубликовал максимальное количество событий - PullRequest
0 голосов
/ 31 марта 2011

Я использую MySQL. Вот мой sql

  SELECT LIMIT 1
   users.id,
   COUNT(events.id) AS events_count
  FROM
   INNER JOIN 'events' ON users.id = events.user_id
  GROUP BY
    users.id
  ORDER BY
   COUNT(events.id) DESC

Вот ошибка, которую я получаю

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 'INNER JOIN 'events' ON users.id = events.user_id
      GROUP BY
        users.id' at line 5: 
      SELECT
       users.id,
       COUNT(events.ID) AS events_count
      FROM
       INNER JOIN 'events' ON users.id = events.user_id
      GROUP BY
        users.id
      ORDER BY
       COUNT(events.id) DESC

Ответы [ 2 ]

3 голосов
/ 31 марта 2011

Кажется, вы пропустили имя таблицы после предложения FROM.Также неверный синтаксис для вашего LIMIT.Смотрите здесь для справки http://dev.mysql.com/doc/refman/5.1/en/select.html

SELECT 
  users.id,   
  COUNT(events.id) AS events_count  
FROM users
INNER JOIN events ON users.id = events.user_id  
GROUP BY    
  users.id  
ORDER BY   
  COUNT(events.id) DESC
LIMIT 1   
0 голосов
/ 31 марта 2011

LIMIT принадлежит в конце запроса.Вы также как-то удалили таблицу users из запроса?

SELECT 
   users.id,
   COUNT(events.id) AS events_count
FROM users
   INNER JOIN events ON users.id = events.user_id
GROUP BY
    users.id
ORDER BY
   events_count DESC
LIMIT 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...