SELECT customer, SUM(price)
FROM tab GROUP BY customer
HAVING SUM(price) IN (SELECT max(sm) FROM ( SELECT sum(price) AS sm FROM tab GROUP by customer ) AS t);
Почему такой запрос возвращает все записи, но если использовать = вместо IN, то все работает корректно?
Так же, если отдельыно выполнить SELECT max(sm) FROM ( SELECT sum(price) AS sm FROM tab GROUP by customer ) AS t и вставить результат в первоначальный запрос, то все будет корректно.
=иINвозвращают одинаковый результат – Mike Dec 11 '16 at 11:15union all select 0то все становится нормально ... – Mike Dec 11 '16 at 11:29HAVING sum(price)+0 IN...так же дает верный результат ... иselect price, sum(price) as ss .... having ss IN...то же верный – Mike Dec 11 '16 at 11:37=:) – Mike Dec 11 '16 at 11:55