현재 보고서 생성기 작성 중입니다. 한 보고서의 경우 주어진 특성 (공급자, 로깅 사용자, 언어 등)별로 분석 할 필요가 있습니다. 각 행에 대해 내가 관심있는 특성의 이름, 해당 특성에 맞는 항목의 수, 이 수치가 나타내는 전체 항목의. 처음 두 세 번째는, 문제가되지 않습니다.MySQL : 추가 계산에 집계 결과 사용
예를 들어, 나는이 같은 쿼리를 사용하는 것입니다 언어에 의한 고장을 얻을 수 있습니다.
SELECT lang_id,
COUNT(IF(open=TRUE,1,NULL)) AS lang_total
FROM table
GROUP BY lang_id;
이렇게하면 언어 당 항목 수가 달라집니다.
테이블의 총 항목 수를 변수 sim에 저장할 수 있습니다. 평범한 숫자로 충분 해.
SELECT @totalOpen:=COUNT(*) FROM table WHERE open = TRUE;
이제 I 100 곱한 @totalOpen의 값으로 나눈 lang_total의 도면 인 세 번째 열을 추가 할 (즉, 기준에 맞는 모든 항목의 백분율). 다음의 행에있는 것 :
계산에 집계 열을 사용할 수 없다고 말할 수 있기 때문에 문제가 있습니다.
SELECT lang_id,
COUNT(IF(open=true,1,NULL)) AS lang_total
(lang_total/@totalOpen)*100 as lang_percent
FROM table
GROUP BY lang_id;
MySQL에서이 작업을 수행해야합니다.하지만 추적 할 수 없었습니다. 아무도 이것으로 도와 줄 수 있습니까?