如何在附加条件下添加相同的色谱柱?
问题描述:
我有两个管理员和客户的表。 因此“客户”表具有以下字段:如何在附加条件下添加相同的色谱柱?
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,
很酷!这是非常简单和天才的解决方案!谢谢! –