MySQL计数行

Dan*_*dja 2 mysql count

我如何根据其内容计算行?假设我有这样的表

[表a]

ID_COMPANY   |   NAME
-----------------------------
A1           |   COMPANY A
Run Code Online (Sandbox Code Playgroud)


[表b]

ID_COMPANY    |    USER     |    TYPE
--------------------------------------
A1            |   USER A    |   MANAGER
A1            |   USER B    |   DEPT001
A1            |   USER C    |   CUSTOMR
A1            |   USER D    |   DEPT002
A1            |   USER E    |   CUSTOMR
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这样的结果?

ID_COMPANY  |    NAME   |  TOTAL_MANAGER  | TOTAL_STAFF_DEPT  | TOTAL_CUST
----------------------------------------------------------------------------
A1          | COMPANY A |              1  |                2  |          1
Run Code Online (Sandbox Code Playgroud)

大家好

cha*_*aos 7

SELECT
    `table_a`.`ID_COMPANY`,
    `NAME`,
    SUM(IF(`TYPE` = 'MANAGER', 1, 0)) AS `TOTAL_MANAGER`,
    SUM(IF(`TYPE` LIKE 'DEPT%', 1, 0)) AS `TOTAL_STAFF_DEPT`,
    SUM(IF(`TYPE` = 'CUSTOMR', 1, 0)) AS `TOTAL_CUST`
FROM `table_a`
JOIN `table_b`
USING (`ID_COMPANY`)
GROUP BY `table_a`.`ID_COMPANY`
Run Code Online (Sandbox Code Playgroud)

SUMs 的标准可能需要调整,因为我不明白你想要在那里实现什么.