如何在附加条件下添加相同的色谱柱?

问题描述:

我有两个管理员和客户的表。 因此“客户”表具有以下字段:如何在附加条件下添加相同的色谱柱?

1. id_client 
2. email 
3. name 
4. id_manager 
5. made_a_deal (bool field) 

而“经理”表具有以下字段:

1. id_manager 
2. name 

这两个表由id_manager键连接。

我想获得一个表,其中显示以下字段:

1. id_manager 
2. managers.name 
3. COUNT(By field id_client) 
And I couldn't make the fourth filed: 
4. COUNT(By field id_client, which have bought something ('client.made_a_deal' is true)) 

我的代码是:

USE database_name; 
SELECT 
    managers.id_manager, 
    managers.name, 
    COUNT(client.id_client) AS `all` 
FROM managers 
LEFT OUTER JOIN 
    client 
    ON 
    managers.id_manager = client.id_manager 
GROUP BY managers.name 
; 

我应该如何修改我的代码,以达到所需的表?

在MySQL中,布尔列实际上是零的整数,意思是false

因此,请在您的SELECT子句中尝试此行。

SUM(IF client.made_a_deal <> 0, 1, 0)) AS dealmakers, 

如果你确定在made_a_deal列中的每个值是0或1,这个简单的条款就可以了。

SUM(client.made_a_deal) AS dealmakers, 
+0

很酷!这是非常简单和天才的解决方案!谢谢! –