这是一个复杂的查询,我希望通过一个语句来实现它,而不是在 PHP 中处理数组值。
实现所需的输出:
User Jobs Total
John D. 5 $1245.67
Mary L. 3 $800.56
到目前为止,这是我的查询:
SELECT
SUM(job.cost) AS sum,
COUNT(DISTINCT job.user) as count,
user.id, user.firstname, user.lastname
FROM `job`
LEFT JOIN `user` ON job.user = user.id
GROUP BY user.id
但是计数值是错误的:它是不同的用户,所以当然每个人都会出错。我该如何解决?
桌子user
id, name, etc.
桌子job
id, user, cost
一对多user
_job
更新
这似乎工作正常:
SELECT
SUM(job.cost) AS sum,
COUNT(1) as count,
user.id, user.firstname, user.lastname
FROM `job`
LEFT JOIN `user` ON job.user = user.id
GROUP BY user.id