나는 server_id
과 관련된 정보를 저장 한 MySQL 테이블을 가지고 있습니다.MySQL 그룹 By & WHERE 절
SELECT server_id,COUNT(*) as online_clients
FROM `user_activity`
WHERE ISNULL(`date_end`)
GROUP BY `server_id`;
나는 독특한 server_id
의 모든 행과 각각에 대한 online_clients
를 반환 할 것으로 예상되는 :
나는 다음과 같은 쿼리를 가지고있다.
그러나 WHERE 절을 제거하면 모든 서버 ID **와 온라인 클라이언트을 각각 얻습니다.
WHERE 절이 작동하지 않는 이유는 무엇입니까? 이 예에서 online_clients와 함께 모든 server_ids를 다시 가져 오지 않아야합니까? (date_end에 null이 없으므로).
당신에게
당신이 SERVER_ID에 의해 그룹'으로 시도 할 수 있습니다를 date_end를 가지는 것은 NULL 절'입니다. –
where 절이 작동하지 않습니다. 그것은 date_end가 알려지지 않은 컬럼을 가지고 있다고 말합니다. – OhGodWhy
을 select 문, 즉 date_end의 일부로 만듭니다. –