Mysql 합병 결과 가로 연결 필드 의 실현 절차
최근 에 보고 서 를 작성 하 는 기능 에서 이런 수 요 는 각 부서 가 특정한 달 에 입사 하고 이 직 한 사람 수 를 통계 하 는 것 이다.
나의 절차
입사 인원 부터 알 아내.
SELECT dept ,COUNT(1) rcNumber FROM
WHERE ( != ''
OR IS NOT NULL) and DATE_FORMAT( , '%Y-%m')= '2019-09'
GROUP BY ID
ORDER BY
조회 기록이 직 한 사람의 수 를 조회 합 니 다 sql:
SELECT dept ,COUNT(1) rcNumber FROM
WHERE ( != ''
OR IS NOT NULL) and DATE_FORMAT( , '%Y-%m')= '2019-09'
GROUP BY ID
ORDER BY
결과 집합제 가 원 하 는 데 이 터 는 이 렇 습 니 다.
나 는 다음 과 같은 시 도 를 했다.
1.나 는 두 개의 조회 결 과 를 두 개의 표 로 보고 left join 을 사용 했다. 솔직히 데이터 형식 은 제 가 원 하 는 건 데 오른쪽 표 의 기록 이 많 으 면 데이터 가 적 잖 아 요.(right 동 리)
2.유 니 온 all 사용 이것 은 원 하 는 데이터 가 아니 라 두 결 과 를 수직 으로 연결 합 니 다.
3.저 는 이런 select*from a,b 를 사 용 했 습 니 다. 이 결 과 는 피리 칼 적 이다. 두 시 계 를 곱 한 결과.
이상 방법의 sql 은 뜻 을 붙 이지 않 고 명확 해 야 합 니 다.
나 는 믿 지 못 하 겠 다 고 바 이 두 에 게 계속 물 었 다.바 이 두 는 마침내 대답 을 하 자 나 는 한 번 시도 했다.
1.입사 sql 처 리 는 다음 과 같다.
SELECT a.dept,a.rcNumber,0 as lcNumber FROM (SELECT dept ,COUNT(1) rcNumber FROM
WHERE ( != ''
OR IS NOT NULL) and DATE_FORMAT( , '%Y-%m')= '2019-09'
GROUP BY ID
ORDER BY ) a
이 직 sql 처 리 는 다음 과 같 습 니 다.
SELECT a.dept,a.lcNumber,0 as rcNumber FROM (SELECT dept ,COUNT(1) rcNumber FROM
WHERE ( != ''
OR IS NOT NULL) and DATE_FORMAT( , '%Y-%m')= '2019-09'
GROUP BY ID
ORDER BY ) a
겉 에 빵 을 한 겹 도 싸 지 않 고 원래 sql 에 저 는 기본 문 구 를 파괴 하지 않 기 위해 서 입 니 다.물론 부족 합 니 다.2.두 문 구 를 수직 으로 연결 하고 연합 sum 을 결합 합 니 다.
SELECT dept ,sum(cm_1) as rcNumber,sum(cm_0) as lcNumber FROM( SELECT c.id,c.dept,SUM(c.lcNumber) as cm_0,c.rcNumber as cm_1 FROM
(SELECT a.dept,a.rcNumber,0 as lcNumber FROM (SELECT dept ,COUNT(1) rcNumber FROM
WHERE ( != ''
OR IS NOT NULL) and DATE_FORMAT( , '%Y-%m')= '2019-09'
GROUP BY ID
ORDER BY ) a) c GROUP BY c.dept
UNION ALL
SELECT d.id,d.dept,d.lcNumber as cm_0,SUM(d.rcNumber) as cm_1 FROM
(SELECT a.dept,a.lcNumber,0 as rcNumber FROM (SELECT dept ,COUNT(1) rcNumber FROM
WHERE ( != ''
OR IS NOT NULL) and DATE_FORMAT( , '%Y-%m')= '2019-09'
GROUP BY ID
ORDER BY ) a) d GROUP BY d.dept) t GROUP BY t.dept ORDER BY t.id
결국 내 가 원 하 는 결 과 를 얻 었 다.총결산
Mysql 합병 결과 에 대한 가로 연결 필드 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Mysql 합병 결과 에 대한 가로 연결 필드 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL에서 JSON 인덱싱 - aarondfrancis사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 말하지만 완전히 정확하지는 않습니다. MySQL로 JSON 열을 인덱싱하는 것은 완전히 가능합니다! 사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.