Как в MySQL подсчитать элементы, которые находятся в одном варианте, а не в другом?

Я хотел бы отобразить некоторые данные таблицы-члена.

Моя таблица выглядит так (выдержка из структуры таблицы):

id_member | city_member | option1  | no option 2
-----------------------------------------------
   1      |   Paris     |    1     |    0
. . . . . . . . . . . . . . . . . . . . . . . .
   2      |   Berlin    |    1     |    0
. . . . . . . . . . . . . . . . . . . . . . . .
   3      |   Berlin    |    0     |    1

Вот пример ожидаемого результата (после запроса sql):

city_member | members | option1  | non_option2
-----------------------------------------------
   Paris    |   200   |    150   |   47
. . . . . . . . . . . . . . . . . . . . . . . .
   London   |   325   |    286   |   189
. . . . . . . . . . . . . . . . . . . . . . . .
   Berlin   |   124   |    110   |   12

Объяснение: В Париже проживает 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

Как сделать что-то вроде «COUNT member WHERE option2 = '0' AND who are IN option1 AS non_option2»?

0
задан Dacobah 2 December 2011 в 17:09
поделиться