SQL, 칼럼 스위치 라인

 

참고 링크 : https://blog.csdn.net/rainyspring4540/article/details/50231435

 

t_vehicle 테이블은 다음과 같은 데이터가 있습니다 :

  

 

 다음과 같이 SQL 초기화 문은 다음과 같습니다

- ---------------------------- 
- t_vehicle 표 구조 
- ------------ ---------------- 
DROP  TABLE  IF는  EXISTS `t_vehicle`을;
CREATE  TABLE (`t_vehicle`를
  `Vehicle_no` VARCHAR ( 20 ) DEFAULT의  NULL ,
  `Type`의 VARCHAR ( 20 ) DEFAULT의  NULL 
) ENGINE = 이노 DEFAULT CHARSET = UTF8;

- ---------------------------- 
- t_vehicle의 기록 
- ------------- --------------- 
INSERT  INTO `t_vehicle`의 VALUES ( ' 粤B11 ' , ' ' );
INSERT INTO `t_vehicle`의 VALUES ( ' 粤B11 ' , ' B ' );
INSERT INTO `t_vehicle`의 VALUES ( ' 粤B11 ' , ' B ' );
INSERT INTO   `t_vehicle`의 VALUES ( ' 粤B22 ' , ' C ' );
코드보기

 

이제 다음과 같이 결과를 쿼리를 달성하고 반환합니다 :

  

 

다음 다음 열에 질의, 질의 결과 및 광고 스위칭 동작 그룹핑은 SQL 기입 포함한다 :

고르다
    t.Vehicle_no,
    맥스 ( CASE t.Type WHEN  ' ' THEN t.ct ELSE 0 END ) A_count,
     최대 ( CASE t.Type ' B ' THEN t.ct ELSE 0 END ) B_count,
     최대 ( CASE t.Type ' C ' THEN t.ct ELSE 0 END ) C_count
 에서 ( 선택 Vehicle_no, 유형, 카운트 ( 1 ) CT           에서 t_vehicle의 그룹  에 의해 Vehicle_no, 유형) t의
 그룹  에 의해 t.Vehicle_no

단지 SQL 쿼리 성능을 고려하지 않고, 기능을 실현하기 위해 여기 간주합니다.

 

추천

출처www.cnblogs.com/zhangxuezhi/p/12013407.html