문제

교리의 위치에서 Agregate 기능의 결과를 어떻게 사용할 수 있습니까?

예를 들어 어리석은 숫자를 가진 사용자를 알고 싶습니다.

SELECT  u.name, COUNT(p.id) AS users_phonenumber_count
FROM    users u

    INNER JOIN phonenumbers p ON p.user_id = u.id
WHERE
    users_phonenumber_count > 10
GROUP BY
    u.id

어떻게 액세스 할 수 있습니까? user_phonenumber_count DQL 어디에서?

도움이 되었습니까?

해결책

당신은 어디에 있지 않은가를 사용해야합니다. 또한 실제로 쿼리에있는 무언가,이 경우 U.Name으로 그룹화해야합니다. U.Name이 독특하다고 가정하면 U.ID와 U.Name을 모두 그룹화해야합니다.

SELECT  u.name, COUNT(*) AS users_phonenumber_count
FROM    users u

    INNER JOIN phonenumbers p ON p.user_id = u.id
GROUP BY
    u.name
HAVING
    count(*) > 10

다른 팁

나는 이것을 어떻게했는지에 대한 정확한 세부 사항을 기억할 수 없지만 "Hady"를 사용해야한다는 것을 기억하십시오.

이것은 SQL이 구체적으로 교리가 아니라 작동하는 방식 때문입니다. 계산 된 값을 비교할 수없는 곳에서는 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top