我需要仅显示最新项目的两个连接表的结果。我有以下疑问:
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
出于某种原因,我不断获得第一个项目......我在这里错过了什么?
最佳答案
您绝对走在正确的道路上。您似乎缺少聚合 COUNT()
的 GROUP BY
子句。试试这个:
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
关于mysql - 数据库的最新结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6076315/