Последние результаты от дб - PullRequest
0 голосов
/ 20 мая 2011

Мне нужно отобразить результаты из двух объединенных таблиц только для последнего проекта. У меня есть следующий запрос:

  SELECT project.id,
         project.created,
         COUNT(DISTINCT events.user_id) AS cnt
    FROM project
    JOIN events ON (events.project_id = project.id)
   WHERE project.creator = $creatorID
     AND events.user_id != $creatorID
ORDER BY project.created DESC
   LIMIT 1

Почему-то я продолжаю получать первый проект ... Что мне здесь не хватает?

1 Ответ

2 голосов
/ 20 мая 2011

Вы определенно на правильном пути.Похоже, вы упускаете предложение GROUP BY для вашей совокупности COUNT().Попробуйте это:

SELECT
  project.id,
  project.created,
  count(DISTINCT events.user_id) AS cnt
FROM project
  JOIN events ON (events.project_id = project.id)
WHERE
  project.creator = $creatorID
  AND events.user_id != $creatorID
GROUP BY project.id, project.created
ORDER BY project.created DESC,
LIMIT 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...