ODBC 연결을 통해 Excel로 가져 오는 mysql 쿼리가 있습니다. 이 쿼리는 끌어 오는 데이터의 내림차순으로 그룹당 상위 5를 결정하고 순위 번호 (그룹의 각 고유 항목 당 값의 순서대로 1부터 5까지)를 제공합니다.ODBC 데이터 연결이 엑셀로 번호 열에 대해 모두 1을 표시합니다.
- 데이터를 Excel로 가져올 때 올바른 숫자 대신 '순위'필드의 모든 값이 1 (1에서 5 사이의 값이 달라야 함)로 설정됩니다. 나는 여러 가지 일을 시도했지만, 왜 이런 일을하는 지 알 수 없다.
내가 MySQL을 사용하고, 엑셀있어 내가 해봤
것들 2010 :
1) 문자로 순위 출력을 주조 새로운 연결
2) 만들기
3) 순위를 텍스트와 문자열로 연결.
4) 워크 시트를 삭제하고 다시 작성하십시오. 당신이 제공 할 수있는 도움에 대한 SQL
감사의 열 순서를 변경
5). 의역을 묻는 질문은 아래와 같습니다.
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
데이터가 정확한지 확인 했습니까? 값이 실제로 1과 다르다는 것뿐만 아니라 테이블 구조를보고 올바른 테이블이나 필드를 쿼리하는지 확인하십시오. –
Hey Owen, 순위 (올바르지 않은 것)는 쿼리 자체에서 생성되며 테이블에 저장되지 않습니다. 쿼리를 실행하면 모든 값이 정확하고 Excel로 수동으로 내보낼 때 올바르게 표시됩니다. – JoshG
일부 코드를 게시하십시오. 특히 쿼리. –