참고 링크 : 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 쿼리 성능을 고려하지 않고, 기능을 실현하기 위해 여기 간주합니다.