select id, name, 'First Category' as category, count(id) as totalCalls
from missed_call
where name = 'whatever1'
group by name, category
UNION
select id, name, 'Second Category' as category, count(id) as totalCalls
from missed_call
where name = 'whatever2'
group by name, category
order by name ASC, totalCalls DESC
내가 레코드와 현재를 얻기 위해 어떻게 할 수 totalCalls 그래서 0SQL 쿼리는 기록을 얻을 수 0 표 하나
입니다 레코드를 검색 할 것입니다 이전 쿼리, totalCalls 0으로?
UPDATE : 나는 IFNULL(count(id), 0) as totalCalls
에 대한 count(id) as totalCalls
을 변경 시도했지만 그것은 문제가 해결되지 않습니다. 아마, count (id)가 실제로 null이 아니기 때문에, 그것은 단지 존재하지 않습니다.
질문이 구체적이지 않습니다. 내 가정 : 범주를 기반으로 총 호출 수를 계산하는 경우 GROUP BY를 사용할 수 있습니다. – Godzilla
무엇을 기대합니까? 테이블에 레코드가 없으면 모든 카테고리를 나열하는 다른 테이블이없는 한 표시 할 항목이 없습니다. – McGarnagle
@dbaseman 그건 내가 두려워했던거야. 것은 "범주"가 데이터베이스에 없다는 것입니다. 특정 조건이 존재할 때 쿼리에 정의됩니다. 그렇지 않으면 그 레코드를 얻기 위해 외부 조인을 할 것입니다. 그것이이 문제에 대한 유일한 대안입니까? 감사합니다 – aleafonso