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


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


  • Вы не можете ответить в тему
В этой теме нет ответов

#1 lebedale

    Новичок

  • Пользователи
  • Pip
  • 1 сообщений

Отправлено 20 Апрель 2017 - 12:32

Здравствуйте! Хочу с помощью фильтра в режиме эксперта найти 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%. Как можно исправить данный код, чтобы считалось правильно?





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных