• Почему COUNT неправильно считает?

    @Depleted Автор вопроса
    Также очень странно считались NULL, в таблице их несколько тысяч, но данный запрос выдавал 11.

    В итоге использовал Ваш подход, немного переделав, родил такое вот чудо:
    SELECT q1.c AS men, q2.c AS women, q3.t AS total FROM (SELECT COUNT(DISTINCT CASE WHEN people.gender = 'М' THEN list.id END) AS c FROM ListTable AS list LEFT JOIN PeopleTable AS people ON (list.userID = people.id)) q1, (SELECT COUNT(DISTINCT CASE WHEN people.gender = 'Ж' THEN list.id END) AS c FROM ListTable AS list LEFT JOIN peopleTable AS people ON (list.userID = people.id)) q2, (SELECT COUNT(list.id) AS t FROM ListTable AS list) q3
    Таким образом, получил общее число, кол-во мужчин и женщин. А "неопределенных" пользователей уже можно спокойно высчитать.

    Ещё раз спасибо большое!
  • Почему COUNT неправильно считает?

    @Depleted Автор вопроса
    Спасибо большое!

    Данный запрос крашит хост, хотя по одному подсчету всё считает просто великолепно, хоть и занимает этот запрос почти 4 секунды.
  • Почему COUNT неправильно считает?

    @Depleted Автор вопроса
    ChairfaceChippendale, да, но я грешу на кодировку, т.к. если писать like '%М%', ситуация та же, а like N'%М%' не находит ничего.
  • Почему COUNT неправильно считает?

    @Depleted Автор вопроса
    Пробовал просто с JOIN, вывод тот же. Пытался вложенные запросы делать - безрезультатно...