有了MySQL,如何计算在一个选项中而不在另一个选项中的成员数?

有了MySQL,如何计算在一个选项中而不在另一个选项中的成员数?,mysql,sql,sum,Mysql,Sql,Sum,我想显示一些成员表的数据 我的表如下所示(表结构的摘录): 下面是一个预期结果的示例(在sql查询之后): 说明:巴黎有200名会员。其中150人选择了选项1。在选择了选项1并居住在巴黎的成员中,有47人没有选择选项2 我尝试了这个查询,但它只适用于前三列。我需要帮助找到第四个的方法 SELECT city_member, COUNT(id_member) AS members, SUM(option1) AS option1, SUM(option1 - opti

我想显示一些成员表的数据

我的表如下所示(表结构的摘录):

下面是一个预期结果的示例(在sql查询之后):

说明:巴黎有200名会员。其中150人选择了选项1。在选择了选项1并居住在巴黎的成员中,有47人没有选择选项2

我尝试了这个查询,但它只适用于前三列。我需要帮助找到第四个的方法

SELECT city_member, 
    COUNT(id_member) AS members, 
    SUM(option1) AS option1, 
    SUM(option1 - option2) AS non_option2
FROM my_table
GROUP by city_member

如何在没有mysql atm的情况下“将option2='0'中的成员以及option1中的非option2成员计数”

:我只是猜测:

SELECT city_member, 
COUNT(id_member) AS members, 
SUM(option1) AS option1, 
SUM(CASE WHEN option1 = '1' AND option2 = '0' THEN 1 ELSE 0 END) AS non_option2
FROM my_table
GROUP by city_member

编辑:修复了没有mysql atm的SQL:我只是猜测:

SELECT city_member, 
COUNT(id_member) AS members, 
SUM(option1) AS option1, 
SUM(CASE WHEN option1 = '1' AND option2 = '0' THEN 1 ELSE 0 END) AS non_option2
FROM my_table
GROUP by city_member
SELECT 
    city_member, 
    COUNT(*) AS members, 
    SUM(option1) AS option1, 
    SUM(option1 * option2) AS option1_and_2,
    SUM(option1 * (1-option2)) AS option1_and_non_option2
FROM my_table
GROUP by city_member

编辑:固定SQL

1-是否需要SQL语句?如我所知,是否需要没有选项1和选项21的成员数-是否需要SQL语句?如我所知,是否需要没有选项1和选项2的成员数
SELECT 
    city_member, 
    COUNT(*) AS members, 
    SUM(option1) AS option1, 
    SUM(option1 * option2) AS option1_and_2,
    SUM(option1 * (1-option2)) AS option1_and_non_option2
FROM my_table
GROUP by city_member