2017-12-19 16 views
0

최근에 SQL을 사용하기 시작했으며 Access에 적용 할 때 막혔습니다. 저의 이전 경험 (제한적)은 PostgreSQL에서였습니다. Microsoft Access의 SQL에 익숙하지 않은 하위 쿼리로 쿼리를 중첩해야한다는 것을 알고 있습니다.Access SQL에서 쿼리 중첩

내가 SQL (안 같이 보일 것이다 액세스 용)의 코드가

select weeks, sum(sweets_eaten), count(distinct (sweet)) 
from table 
group by weeks; 

이 다음 나에게 내가 유일한 주있을 것 테이블을 줄 것이라고 믿고, 과자의 합 먹을 일주일에 한 번과 주당 과자 수.

이상적으로 쿼리가 수행하는 것은 일주일에 먹는 총 과자를 과자 수로 나눠 주당 평균 과자를 말해주는 것이 이상적입니다.

누구든지 Microsoft Access에서 작동하도록 쿼리를 작성하는 방법을 알고 있습니까?

감사합니다.

편집 코드는,이 내가 평균

select f15, sum(f16), count(*) 
from (select f15, sum(f16) as sum_sweets_eaten 
from table1 
group by f15, f16 
) as t 
group by f15; 

를 입력하고 무엇인가, 합계뿐만 아니라이 작업을 수행 할 수있을 것입니다.

+1

'distinct'는 함수가 아니므로 중복 된 괄호를 제거 할 수 있습니다. 나는. 간단히'count (distinct sweet) '를하십시오. – jarlh

+0

'과자 '란 무엇입니까? 그리고 얼마나 많은 사람들을 먹을 지 판단하기 위해 무엇이 필요하다고 생각합니까? –

+0

테이블 이름을 변경하고 배가 고파서 과자가 마음에 들었습니다 – Gandalfrandalf

답변

2

count(distinct)을 지원하지 않으므로 작성한 쿼리는 MS Access에서 작동하지 않습니다.

select weeks, sum(sum_sweets_eaten), count(*) 
from (select weeks, sum(sweets_eaten) as sum_sweets_eaten 
     from table 
     group by weeks, sweet 
    ) as t 
group by weeks; 

avg()보다는 sum()를 사용, 평균 효율적으로 활용하려면 다음 작업을

당신은 당신이 원하는 결과를 얻기 위해 집계를 사전에 할 수 있습니다.

+0

실행할 때 f16 (sum (sweets_eaten)) 매개 변수를 입력하라는 메시지가 표시됩니다.이 쿼리 도구에 입력하는 코드입니다 select f15, . 합 (F16)는, F15에 의해 t 그룹으로 (F15에 의해 표 그룹, F16 에서 sum_sweets_eaten 등의 합 (F16)를 F15을 선택)에서 (*) 계산;.. – Gandalfrandalf

+0

@Gandalfrandalf 아무 생각이 무엇인지 귀하의 의견은 귀하의 원래 질문이나 대답을해야만합니다. 다른 질문이 있으면 * 새로운 * 질문으로 물어보십시오. 기존 질문을 편집하는 것이 아니라 주석으로 편집하십시오. –