복붙노트

[SQL] "당신은 지정된 집계 함수를 포함하지 않는 쿼리를 실행하려고"

SQL

"당신은 지정된 집계 함수를 포함하지 않는 쿼리를 실행하려고"

SELECT SUM(orders.quantity) AS num, fName, surname
FROM author
INNER JOIN book ON author.aID = book.authorID;

나는 오류 메시지가 계속 : 집계 함수의 일환으로 FNAME ""당신이 특정 표현을 포함하지 않는 쿼리를 실행하려고 "어떻게해야합니까.?

해결법

  1. ==============================

    1.이 오류는 FNAME이 SELECT 목록에 포함되어 있기 때문이지만, GROUP BY 절에 포함되어 있지 않으며 집계 함수 () (MIN (), MAX (), 합계 (백작) 등)의 일부가 아닙니다

    이 오류는 FNAME이 SELECT 목록에 포함되어 있기 때문이지만, GROUP BY 절에 포함되어 있지 않으며 집계 함수 () (MIN (), MAX (), 합계 (백작) 등)의 일부가 아닙니다

    당신은 그룹 BY에 FNAME을 포함하여 그 문제를 해결할 수 있습니다. 그런데 당신은 성 (姓)과 같은 문제에 직면하게 될 것이다. 그래서 GROUP BY에 모두 넣어 :

    SELECT
        fName,
        surname,
        Count(*) AS num_rows
    FROM
        author
        INNER JOIN book
        ON author.aID = book.authorID;
    GROUP BY
        fName,
        surname
    

    난 당신이 SUM (orders.quantity)를 원 카운트 (*)를 사용합니다. 당신은 필드의 합계 () 일을 할 수 전에 당신이 그것을 포함해야하므로 그러나 주문은, 쿼리의 섹션에 포함되어 있지 않습니다.

    당신이 액세스가 가능한 경우 쿼리 디자이너에서 쿼리를 작성합니다. 그것은 당신이 어떤 기능이 가능 이해하고 올바른 액세스 SQL 구문을 적용 할 수 있습니다.

  2. ==============================

    2.나는 MS-Access 쿼리에서 비슷한 문제가 있고, 나는 ( "그룹으로"또는 "합계"반대)에 "표현"내 해당 FNAME을 변경하여 그것을 해결. 너무 오래 내 모든 필드는 "표현"이었다로, 액세스 쿼리 빌더는 끝의 그룹으로 절을 필요로하지 않았다.

    나는 MS-Access 쿼리에서 비슷한 문제가 있고, 나는 ( "그룹으로"또는 "합계"반대)에 "표현"내 해당 FNAME을 변경하여 그것을 해결. 너무 오래 내 모든 필드는 "표현"이었다로, 액세스 쿼리 빌더는 끝의 그룹으로 절을 필요로하지 않았다.

  3. ==============================

    3.GROUP BY는 MS Access에서 쿼리 디자인보기에서 총 행에서 선택할 수 있습니다. 총 행 (내 경우처럼) 디자인 뷰에 표시하지 않는 경우. 당신은 SQL보기로 이동 한 후 총 행이 자동으로 디자인보기에 표시됩니다 FNAME 등으로 그룹을 추가 할 수 있습니다. 당신은 계산 필드의이 행 식으로 선택해야합니다.

    GROUP BY는 MS Access에서 쿼리 디자인보기에서 총 행에서 선택할 수 있습니다. 총 행 (내 경우처럼) 디자인 뷰에 표시하지 않는 경우. 당신은 SQL보기로 이동 한 후 총 행이 자동으로 디자인보기에 표시됩니다 FNAME 등으로 그룹을 추가 할 수 있습니다. 당신은 계산 필드의이 행 식으로 선택해야합니다.

  4. from https://stackoverflow.com/questions/19430500/you-tried-to-execute-a-query-that-does-not-include-the-specified-aggregate-func by cc-by-sa and MIT license