CONCAT with ROLLUP

时间:2017-08-28 10:12:36

标签: mysql sql

我想在使用汇总时合并名字和姓氏列,但它似乎将相同的姓氏复制到每个名字:

SELECT IFNULL(CONCAT(u.firstname, ' ', u.lastname),'Total Projects') AS Name, count(DISTINCT(p.id) ) AS Total
FROM projects p
INNER JOIN users u ON p.creator_fk = u.id
GROUP BY Name WITH ROLLUP;

所以我最终得到了类似的东西:

Name           | Total

John Smith     | 10
Sarah Smith    | 25
Tracy Smith    | 5
Total Projects | 40

1 个答案:

答案 0 :(得分:1)

根据我的理解

SELECT IFNULL(name,'Total Projects') AS Name, count(DISTINCT(id)) AS Total 
from  (select CONCAT(u.firstname,' ', u.lastname) as name,p.id
    FROM projects p INNER JOIN users u ON p.creator_fk = u.id) as p  GROUP BY name WITH ROLLUP;