Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

최대 누적 값을 가져오는 MySQL 쿼리


이를 위해 하위 쿼리와 함께 집계 함수 COUNT(*)를 사용합니다. GROUP BY도 사용됩니다.

테이블을 만들어 봅시다 -

mysql> create table demo23−> (−> id int not null auto_increment 기본 키,−> value1 int,−> value2 int−> );쿼리 OK, 영향을 받은 행 0개(1.65초)

insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -

mysql> insert into demo23(value1,value2) values(5,600);Query OK, 1행 영향(0.20초)mysql> insert into demo23(value1,value2) values(20,800);Query OK, 1행 영향( 0.06초)mysql> demo23(value1,value2) values(7,400)에 삽입;쿼리 OK, 1행 영향(0.20초)mysql> insert into demo23(value1,value2) values(6,500);Query OK, 1행 영향( 0.17초)mysql> demo23(value1,value2) values(10,300)에 삽입;쿼리 OK, 1행 영향(0.12초)mysql> demo23(value1,value2) 값에 삽입(11,500);Query OK, 1행 영향( 0.14초)

select 문을 사용하여 테이블의 레코드 표시 -

mysql> select *from demo23;

이것은 다음과 같은 출력을 생성합니다 -

+----+--------+--------+| 아이디 | 가치1 | 값2 |+----+--------+--------+| 1 | 5 | 600 || 2 | 20 | 800 || 3 | 7 | 400 || 4 | 6 | 500 || 5 | 10 | 300 || 6 | 11 | 500 |+----+--------+--------+6행 세트(0.00초)

다음은 최대 누적 쿼리입니다 -

mysql> 선택 total_value, count(*) as number_of_occurrences−> from (−> select value1*value2 as total_value−> demo23−> ) t−> total_value 기준 그룹화−> total_value desc 기준 정렬−> limit 1; 

이것은 다음과 같은 출력을 생성합니다 -

+-------------+-----------------------+| total_value | number_of_occurrences |+-------------+------------------------------------+| 16000 | 1 |+-------------+-----------------------+1 행 세트(0.00초)