문제

내가 노력하고 실행하는 이 SQL command:

SELECT page.page_namespace, pagelinks.pl_namespace, COUNT(*) 
    FROM page, pagelinks
    WHERE 
        (page.page_namespace <=3 OR page.page_namespace = 12 
            OR page.page_namespace = 13
        ) 
        AND 
        (pagelinks.pl_namespace <=3 OR pagelinks.pl_namespace = 12 
            OR pagelinks.pl_namespace = 13
        )
        AND 
        (page.page_is_redirect = 0)
        AND 
        pagelinks.pl_from = page.page_id 
    GROUP BY (page.page_namespace, pagelinks.pl_namespace) 
; 

요 내가 그렇게 할 때,나는 다음과 같은 오류가:

    ERROR:  could not identify an ordering operator for type record
    HINT:  Use an explicit ordering operator or modify the query.

    ********** Error **********

    ERROR: could not identify an ordering operator for type record
    SQL state: 42883
    Hint: Use an explicit ordering operator or modify the query.

가 추가하기: 순서(페이지입니다.page_namespace,pagelinks.pl_namespace)ASC 을 쿼리의 끝없는 성공이다.

업데이트:

나도 이:

SELECT page.page_namespace, pagelinks.pl_namespace, COUNT(*) 
    FROM page, pagelinks
    WHERE pagelinks.pl_from = page.page_id 
    GROUP BY (page.page_namespace, pagelinks.pl_namespace) 
; 

하지만 나는 아직도 이 같은 오류가 있습니다.

다.

도움이 되었습니까?

해결책

나는 어떤 문서도 확인하지 않았지만 당신이 당신의 GROUP BY 괄호 안의 표현은 나에게 특이한 것 같습니다. 여기서 괄호를 사용하지 않으면 어떻게됩니까?

다른 팁

나는 정말 전문가,그러나 내의 이해하는 메시지는 PostgreSQL compains 에 대한되지 않을 처리할 수 있는 중 page.page_namespace <=3pagelinks.pl_namespace <=3.비교를 만들기 위해 다음과 같이 필요하는 순서를 정의 그리고 어쩌면 하나의 이러한 필드가 표준 수치다.아니면 어떤 문제로 정수 대부동 소수점어질문하는 경우"3.0=3"정말 그 대답하기 쉬운 이후 부동 소수점의 표현 3.0 가능성이 가장 정확하지 않 3.

모두 추측,하지만 난 정말 그 두 <=s 는 문제입니다.

글쎄, 나는 당신이 사용하는 스키마 (*)를 모르지만 오류 메시지는 명확 해 보입니다. 열 중 하나는 유형입니다 기록 레코드를 주문할 연산자는 없지만 <=와 같은 쿼리의 일부는 그러한 순서 연산자가 필요합니다. 문제의 핵심은 주문할 연산자가 부족하기 때문에 주문을 사용하는 데 도움이되지 않습니다.

(*) 다른 질문에서, 나는 당신의 스키마가 wikipedia page dump라고 가정합니다. http://download.wikimedia.org/enwiki/latest/enwiki-latest-page.sql.gz 옳은?

나는 약간의 오류가 있습니다. 하지만이 페이지를 찾았습니다.http://www.w3schools.com/sql/sql_groupby.asp쉽습니다. 예를 들어 괄호없이 그룹화해야합니다.

Group by (page.page_namespace, pagelinks.pl_namespace) 올바른 것은 page.page_namespace, pagelinks.pl_namespace로 그룹입니다

인사말!!

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