MYSQL 如何将一列与另一列的计数连接作为 DB 的输出

MYSQL How to Concat one column with count of another column as a output from DB

我有一个 Mysql 数据库,我需要将显示输出发送到前端。我不想让逻辑在 Java 代码中迭代,而是希望从查询输出中获取自定义列。

 
Table: EmpTable
----------------------------------
EmpId     |    DaysCameToOffice
----------------------------------
101       |    Monday
101       |    Tuesday
102       |    Monday
103       |    Monday
102       |    Wednesday
102       |    Thursday
--------------------------------

 
Desired output (as in Query result)

---------------------------------------------------------
EmpId        |  displayEmp
--------------------------------------------------------
101          |  101 (2 records)
102          |  102 (3 records)
103          |  102 (1 records)
---------------------------------------------------------

尝试过的查询

 
SELECT  m.EmpId as EmpId,
        CONCAT(m.EmpId, " (", COUNT(SELECT DISTINCT(c.DaysCameToOffice) from EmpTable c, " records)") as displayEmp
  FROM EmpTable m

给我:- 错误代码:1064,SQL 状态:42000] 你的 SQL 语法有误

请帮助我

count() 适用于表达式,而不适用于查询,因此您确实需要将其复杂化:

select empid, concat(empid, ' (', count(distinct DaysCameToOffice),' records)') as displayEmp
from EmpTable
group by empid

但是,我会 运行 没有连接的查询,只是计数并在显示结果的应用程序中进行连接。