У меня есть запрос mysql, который загружается в excel через соединение ODBC. Этот запрос определяет первые 5 в группе в порядке убывания извлекаемых данных и присваивает им ранговый номер (от 1 до 5 в порядке значения для каждого уникального элемента в группе).
-- Проблема заключается в том, что когда данные импортируются в Excel, все значения поля "ранг" устанавливаются равными 1 (они должны варьироваться от 1 до 5) вместо правильных чисел. Я пробовал целый ряд вещей, но не могу понять, почему Excel делает это.
Я использую mysql и excel 2010.
Что я пробовал:
1) Создание нового подключения
2) Преобразование вывода ранга в виде символа
3) Объединение ранга с текстом в виде строки.
4) удаление рабочего листа и его воссоздание.
5) изменение порядка столбцов в sql
Спасибо за любую помощь, которую вы можете предоставить. перефразированный запрос ниже.
select
rank,
center,
supervisor_id,
missed,
box,
missed_percent
from
(select
supervisor_id,
missed,
box,
missed_percent,
@ranking := if(@warehouse = center, @ranking + 1,1) as rank,
@warehouse := center as center
from
(select
a.center,
f.supervisor_id,
sum(missed) as missed,
count(box) as box,
sum(missed) / count(box) as missed_percent,
(SELECT @ranking:= 0) s
from
seventy_subquery_table
left join people f on a.employee_id = f.employee_id
group by
a.center,
f.supervisor_id
) m
order by center, missed_percent desc
) m2
where m2.rank <= 5
order by center, rank