본문 바로가기
MySql

MySQL-조건이 다른 두 가지 계산

by 베이스 공부 2021. 2. 11.
반응형

하나의 쿼리에서 서로 다른 조건에서 두 가지를 세고 싶습니다.

SELECT COUNT(*) AS count FROM table_name WHERE name = ?

SELECT COUNT(*) as count FROM table_name WHERE address = ? AND port = ?

특정 주소와 특정 포트가있는 행에 대한 개수와 특정 이름을 가진 행에 대한 SEPARATE 개수가 필요합니다.

내가 할 수 있다는 걸 알아

SELECT (COUNT*) as count FROM table_name WHERE (address = ? AND port = ?) OR name = ?

그러나 이것은 단일 카운트이며 사용자에게보다 정확한 메시지를 표시 할 수 있도록 분리해야합니다.

이 일을 어떻게 할 수 있습니까? 도움을 주시면 감사하겠습니다!

 

해결 방법

 

간단히 :

SELECT 
    SUM(IF(name = ?, 1, 0)) AS name_count,
    SUM(IF(address = ? AND port = ?, 1, 0)) AS addr_count
FROM 
    table_name

 

참조 페이지 https://stackoverflow.com/questions/10576435

 

 

반응형

댓글