2016-08-18 1 views
4

다음은 데이터가 삽입 된 테이블입니다.목록 등을 만들기위한 SQL 쿼리

CREATE TABLE police(event_id VARCHAR(100), search_type VARCHAR(1000), 
        reported_by VARCHAR(100)); 
INSERT INTO police VALUES ('gng67g6yf', 'person','ceridigion'); 
INSERT INTO police VALUES ('bfewbqfjhfb', 'person', 'ceridigion'); 
INSERT INTO police VALUES ('ytftdfctg', 'n/a','ceridigion' ); 
INSERT INTO police VALUES ('yufvugyu', 'person','pembrokeshire', ); 

은 내가 알아 시도하고 reported_by을 나열하고뿐만 아니라 지역에서 일어난 검색을해야하는 쿼리입니다. 이 아래처럼 뭔가 : 여기

reported_by  Stopped and searched 
ceridigion    2 
pembrokeshire   1 

답변

1
SELECT reported_by, 
     SUM(CASE WHEN search_type = 'person' THEN 1 ELSE 0 END) AS `Stopped and searched` 
FROM police 
GROUP BY reported_by 

데모 : 만약 내가 제대로 이해하고

SQLFiddle

1

, 당신은 단지 search_typereported_by 당 행의 수를 (계산해야 그게 아니야 n/a :

SELECT reported_by, COUNT(*) AS "Stopped and searched" 
FROM  police 
WHERE search_type != 'n/a' 
GROUP BY reported_by