当我运行以下查询时,我只获得第一行:
ini_set('max_execution_time', 120);
我有两个表,Projects和Users,项目表有一个用户ID,我用它来从users表中获取名称。然后,我想看看每个用户有多少个独特的项目,并显示每个用户拥有的项目数量。
答案 0 :(得分:2)
您需要group by
:
SELECT u.name AS Firstname, u.lastname AS Lastname,
count( DISTINCT p.id ) AS Count
FROM projects p INNER JOIN
users u
ON p.user_fk = u.id
GROUP BY u.name, u.lastname
order by user_fk;
在几乎所有其他数据库中,您的查询都会返回错误,因为它在SELECT
中的列中没有聚合而不在GROUP BY
中。我认为MySQL正朝着使其成为默认行为。