2017-09-09 2 views
0

GROUP BY를 이해하는 데 어려움을 겪고 있습니다.일반 SQL - 그룹 이해 BY

  1. 집계 함수 이외의 SELECT 문에있는 모든 식은 GROUP BY에 있어야합니까?
  2. GROUP BY는 정확히 무엇을 수행합니까?

우리 고객의 평균 연령을 계산하려고합니다.

Date| Name|Country|Balance|Age 
2016|Sharp|Iceland| $200 |29 
2016|Bob |Finland| $100 |22 
2016|Sharp|Iceland| $500 |29 
2016|James|USA | $10 |21 
2017|Sharp|Iceland| $2 |30 

데이터가 매우 크기 때문에 GROUP BY를 사용합니다.

SELECT Date, Name, Country, SUM(Balance), Age 
    FROM Table 
GROUP BY Date, Name, Country, Age 

그러나 어떤이 ...의 출력이 될 것 같습니다

2016|Sharp|Iceland|$700|29 
2016|Bob |Finland|$100|22 
2016|James|USA |$10 |21 
2017|Sharp|Iceland|$700|30 

어떻게 후 평균 나이를 계산하는 방법에 대한 갈 것이라고?

너무 혼동 스럽습니다. 샤프.

답변

0

나는 일반적으로 SQL 프로그래밍 완전히 새로운 오전하지만 내가 지금까지 배운 내용에서 :

GROUP BY 데이터베이스에서 여러 열을 받아 sortered 할 하나 개의 그룹을 응축. 다음과 같이 synatax은 다음과 같습니다 당신이 원하는 경우 열 이름 BY 조건이 필요 (AVG 세) 그룹이

당신은 다음을 주문할 수 WHERE 테이블 로부터 열 이름 (들) 을 선택 . 나는 당신이 칼럼을 선택했다면 당신이 선택한 같은 칼럼으로 그룹화 할 것이라고 말하는 것이 옳다고 믿습니다.

이것은 내가 사용한 참고 자료입니다. SQL info

너무 깊이 들어가 있지 않지만 읽는 방법입니다.

희망이 도움이 될 수 있습니다. 행운을 빌어 요.

새싹

0

Aggregate 기능은 Select 목록에 따라 출력을 반환하고 그 선택된 열은 GROUP BY 절에 있어야합니다.

필요한 검색어는 다음과 같습니다.

SELECT Date, Name, Country, SUM(Balance), AVG(Age) 
FROM Table 
GROUP BY Date, Name, Country 
1

는 집계 함수는 GROUP BY에 있어야 다음 다른 SELECT 문에서 모든 표현을합니까?

  • .. 선택에 언급 된 모든 표현 중 하나 절 또는 집계 함수에 의해 그룹에 적용해야해야합니다. 그러나 반대로 인 경우, 즉 그룹의 모든 표현식이 선택 대상 일 필요는 없습니다.

정확히 GROUP BY가 무엇을하고 있습니까?

  • 그룹 별이 절에 의해 그룹에 따라 데이터를 정렬 및 집계 기능에 사용되는 열의 집합체 함수를 적용한다.

예를 들어 말씀 드린대로 나이를 평균화해야하지만 그룹 별 조항의 기준은 무엇입니까? 현명한 모두 ..

다음은 샘플 쿼리는 평균 나이 현명한 일, 국가 현명한 또는 날짜 현명하고 국가를 하시겠습니까 있습니다

-- date and contry wise both 
select Country,Avg(Age) from demo123 
group by Date,Country 

-- date wise 
select Date,Avg(Age) from demo123 
group by Date 

-- Country wise 
select Country,Avg(Age) from demo123 
group by Country 
+0

나는 클라이언트의 총 수로 필요합니다. SELECT 날짜, Count (*)를 Total_Accounts, AVG (Age) FROM 테이블 GROUP BY 날짜부터 할 수 있습니까? – JohnRambo