2016-09-22 1 views
0

나는 다양한 like CRITERIAS에 따라 행을 선택하려고, 다음과 같은 기능이 쓴 '.':액세스 : * '로 선택한 필드에 수 없습니다 그룹'

SELECT *, 
COUNT(YRKE) AS Antall_med_yrket 
FROM [T8 kopi (til sletting) av T7 3] 
WHERE YRKE like "*læge*" 
    OR YRKE like "*præst*" 
    OR YRKE like "*Lærer*" 
    OR YRKE like "*lærer*" 
    OR YRKE like "*chef.*" 
    OR YRKE like "*mester*" 
    OR YRKE like "*Portner*" 
    OR YRKE like "*portner*" 
    ⋮ 
    OR YRKE like "*fuglefanger*" 
    ⋮ 
    OR YRKE like "*Glasanfanger*" 
GROUP BY YRKE 
; 

는 '⋮'생략 라인을 의미 . 내가하고 싶은 일은 표시된 단어가 나타나는 모든 행을 표시하고이 단어의 히트 수를 보여줍니다. 예 출력 : 나는 COUNT 라인을 추가 할 때 제목을 가리 켰을 때,

ID NAVN   YRKE      Antall_med_yrket 
1 Ole Olsen  Fuglefanger    3 
2 Per Olsen  Skogbruger (Fuglefanger) 3 
3 Olav Krogh  Fængselslæge    1 
4 Kristen Persen Gaardbruger (Fuglefanger) 3 
5 Per Kristensen Fængselsdirecteur   1 

그러나, 나는 오류 메시지가 표시됩니다. 행을 제거하면 모든 행이 원하는대로 출력되지만 물론 계산이 필요 없습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

저는 Oracle에서 MS Access 2007을 사용하고 있습니다.

+0

안녕하세요, MS Access에서 처리하는 방법을 모르겠지만 ORACLE에서 %는 LIKE 문과 함께 사용하는 와일드 카드입니다 – davegreen100

답변

3

정확합니다. 다음 해야 일 :

  • 명시 적으로 GROUP BY에 언급하십시오 SQL 집계 쿼리에서

    SELECT YRKE, COUNT(YRKE) AS Antall_med_yrket 
    FROM [T8 kopi (til sletting) av T7 3] 
    WHERE YRKE like "*læge*" 
        OR YRKE like "*præst*" 
        OR YRKE like "*Lærer*" 
        OR YRKE like "*lærer*" 
        OR YRKE like "*chef.*" 
        OR YRKE like "*mester*" 
        OR YRKE like "*Portner*" 
        OR YRKE like "*portner*" 
        ⋮ 
        OR YRKE like "*fuglefanger*" 
        ⋮ 
        OR YRKE like "*Glasanfanger*" 
    GROUP BY YRKE; 
    

    SELECT의 열은 일반적으로 다음 중 하나가 될 필요가있다.

  • GROUP BY에 명시 적으로 언급 된 열로 구성된 표현식입니다.
  • 집계 함수에 대한 인수 (예 : SUM() 또는 MIN()).

참고 : 일부 데이터베이스 (기본적으로, 당신은 GROUP BY id을 말하고 id 고유 때 다른 열을 사용할 수 있습니다)에서 허용 한 가지 예외가있다. 그러나 MS Access와 오라클 모두 해당 기능을 지원하지 않습니다.

+0

내 쿼리가 실패한 이유는 내 선택 행에 열을 구체적으로 나열하지 않았기 때문입니까? –

+0

@CannedMan. . . 이유는'*'가 포함 되었기 때문입니다. –

관련 문제