이 문서에서는 더 깊은 이해 수준을 얻기 위해 여러 관점에서 집계 최대 함수를 사용하는 방법에 대해 설명합니다. 여기에서 우리는 논의 할 것이다:

  • 뭐? 초보자의 관점에서,최대 기능은 무엇입니까?
  • 왜? 어떤 상황에서 우리는 최대()기능을 사용해야합니까?
  • 어떻게? 이 함수를 어떻게 사용할 수 있습니까?
  • 더 우리는 또한 구조에 의해 그룹의 일부 사용을 만들 것입니다.2019 년 11 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월 1 일,2019 년 12 월)페이지 관리 도구 또는 다른 데시벨 관리 도구를 사용하거나 코드 또는 스크립트/코딩 언어를 통해 ASP.Net,VB.Net,루비,노드.(주)제이에스 데이터베이스 연결을 제공합니다.
  • SELECT,FROMGROUP BY과 같은 몇 가지 기본 문장의 사용에 대한 이해.
  • 문자열과 함수가 무엇인지에 대한 지식.

최대()기능은 무엇이며 어떻게 작동합니까?

포스트그레스MAX()함수는 숫자 집합에서 가장 높은(최대)값을 반환합니다.

구문

1
이 경우 최대 값을 설정해야합니다.);

왜 그리고 언제 우리는 최대()기능을 사용합니까?

언제든지 당신은 당신이 그 세트 중 가장 높은 것을 알고 싶은 숫자의 집합이 있습니다.

쉬운 예제로 시작합시다

이해하기 쉬운 예제로 시작하겠습니다. 우리의 초기 데이터 세트는 코드화 _언어라는 테이블입니다.

0 파이썬 7
1 자바 5
2 2015 년 9
3 자바스크립트 8

소프트웨어 개발 회사에서coding_languages이라는 위의 표에는 다음과 같은 세 가지 필드가 있습니다:

  • id_tech 우리의 고유 식별자입니다.
  • t_name은 코딩 언어의 이름입니다.
  • i_rapid_dev은 평균 코더가 언어를 사용하여 얼마나 빨리 개발할 수 있는지에 대한 정수 평가입니다.

목표는 빠른 개발 측면에서 가장 높은 등급을 가진 언어를 찾는 것입니다(i_rapid_dev). 1576>함수를 사용하여i_rapid_dev열의 값이 가장 높은t_name을 검색하도록 스크립트를 작성해 보겠습니다.:

1
2
3
4
5
6
7
8
코딩언어
그룹별
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
코딩언어
;

위의 예제에 대한 참고 사항:이것은 우리가 데이터베이스 그룹에 대한 지식을 사용하는 곳입니다. 이 방법으로 생각할 수 있습니다:하나 이상의 숫자의 최대를 찾으려면 일련의 숫자를 고려해야합니다.

위의 문은 어떻게 작동합니까? 우리는 그것을 단계적으로 취할 것입니다:

  • (1) SELECT: 우리는i_rapid_dev열에 모든 값의 최대 값(절이 없거나 절이 없기 때문에)을 원한다고 말하고 있습니다.
  • (2) FROM: 데이터를 검색할coding_languages테이블을 지정합니다.
  • (3) GROUP BY: 포스트그레스에게 데이터를 그룹화하고 싶다고 말합니다. 집계 함수 인 최대()함수는 데이터를 그룹화해야합니다.

위의 쿼리가 반환됩니다.||:—:|—|————:2|9|

우리는 이제 빠른 개발 측면에서 가장 빠른 것을 알고 있습니다.

미니 프로젝트에서”최대”함수를 사용하는 또 다른 예:우리는 직원들이 회사에서 사용되는 기술을 등급 매기고 가장 높은 등급의 기술을 알고 싶어했습니다. 여기서 우리는”갖는”핵심 단어를 소개하면서MAX()의 또 다른 비교적 간단한 사용을 탐구 할 것입니다. 다음은”기술”의 테이블 이름을 가진”원시”데이터 세트입니다.:

0 테드 자바 4
1 16
2 8
3 16
4 게리 파이썬 20
5 12

진행 방법을 계획 해 봅시다. 우리는 다음을 포함하여 하나 이상의 작업을 수행하는 쿼리를 작성하려고합니다:

  • (1) 데이터 집합의 행만 고려하십시오. 이것은 데 절 편리 하 게 온다. 그것은 3 행을 얻을 것입니다. 당신은 왜 볼 수 있습니까? 힌트:위의 표에서”랭”값을 찾으십시오. 세 가지가 있습니다 통지? 그들은 어떤 열에 있습니까?(2)등급이 어떤 기술을 사용하는지 알고 싶기 때문입니다.
  • (3)누가 평가를 했든 상관없습니다.
  • (4)_이 열을 사용하여 3 개의 행 값의 최대 합계를 가져옵니다.
  • (5)그룹화 기준을 사용하여 적절한 열을 그룹화합니다.

:

  • (1) SELECT: 우리는 우리의 포스트 그레스 테이블을 필터링하고 있습니다: (가)t_name_tech열을 표시하고,(나)주어진 각 기술에 대한 등급(Sum(i_grade))의 합계를 계산하고,(다)그 합계의 최대 값(Max(i_sum_of_grades))을 표시하고 결과를i_highest_grade으로 지정합니다.
  • (2) FROM: 데이터 소스로coding_languages테이블을 지정합니다.
  • (3) GROUP BY: 우리가 그룹화하고 있다는 것을 알립니다. MAX함수는 포스트그레스가 내부적으로 합산하고 가장 높은 데이터를 찾는 데이터를 그룹화해야 합니다.
  • (4) HAVING: 4902>필드에”랭”이 있는 행을 필터링하도록 지시합니다.

위의 쿼리가 반환됩니다:

2441 2441 2441 2441 2441 2441 2441
12

참고

  • 왜 우리는”나”또는”티”의 접두사로 변수와 테이블 열의 이름을 지정 했습니까? 우리는”나”를 사용하여 정수를 의미하고”티”를 사용하여 텍스트 또는 문자열을 의미합니다.
  • 우리는 강력한GROUP BY포스트 그레스 절을 활용 우리의 다른 기사를 찾기 위해 당신을 초대합니다.

결론

여기서 우리는MAX()함수를 사용하여 일련의 숫자에서 가장 높은 값을 찾는 것이 가장 좋은시기와 방법을 배웠습니다. 특히GROUP BYHAVING절을 사용하여 데이터 하위 집합으로 작업할 때 학습 프로세스를 최대한 쉽게 만들 수 있도록 난이도를 확장했습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.