SELECT
t1.user_id,
count(*) total,
sum(case when t1.var1 = 'yes' then 1 else 0 end) as type1,
sum(case when t1.var1 = 'no' then 1 else 0 end) as type2
FROM table as t1
WHERE type1 > 0
GROUP by t1.user_id
ORDER by type1 DESC
LIMIT 100
В результате я получаю строки:mysql - почему условие, где не работает?
user_id total type1 type2
1 100 80 20
4 120 70 50
6 90 0 90
Скажите, пожалуйста, почему состояние WHERE type1 > 0
не работает и как выбрать строки с этим условием?
сделайте скрипт sql для этих вопросов, это облегчит нам попробовать материал: http://sqlfiddle.com/ – Jester
... и показать исходные таблицы (и их данные), с которыми вы запрашиваете. – Stuart