Перейти к содержимому


Публикации lebedale

1 публикаций создано lebedale (учитываются публикации только с 29-Март 23)


#32989 Найти 20% клиентов с максимальной выручкой

Отправлено от lebedale в 20 Апрель 2017 - 12:32 in Как это сделать

Здравствуйте! Хочу с помощью фильтра в режиме эксперта найти 20% из всех клиентов, кто принес больше всего выручки. Так как функция TOP в MySQL не поддерживается, написал такой код

`Выручка`>=(SELECT min(f1831) FROM (SELECT DATA_TABLE131.*, @counter := @counter +1 counter FROM (select @counter:=0) initvar, DATA_TABLE131 ORDER BY f1831 DESC) X where counter <= (20/100 * @counter))

(f1831 - выручка, DATA_TABLE131 - таблица клиентов)

Однако фильтр работает неточно. Вместо 20% первых клиентов выводит 23%. Как можно исправить данный код, чтобы считалось правильно?