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

MySQL 함수를 만들고 열 값의 평균 찾기

<시간/>

먼저 테이블을 생성하겠습니다 -

mysql> Create table DemoTable638 (Name varchar(100),Marks int);Query OK, 영향을 받는 행 0개(0.68초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable638 values('John',67);Query OK, 1개의 row가 영향을 받았습니다(0.17초)mysql> insert into DemoTable638 values('John',90);Query OK, 1개의 row가 영향을 받았습니다(0.16초). )mysql> insert into DemoTable638 values('David',99);Query OK, 1개의 row가 영향을 받았습니다. (0.12초)mysql> insert into DemoTable638 values('John',60);Query OK, 1개의 row가 영향을 받았습니다. /사전> 

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

mysql> 선택 *from DemoTable638;

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

+-------+-------+| 이름 | 마크 |+-------+-------+| 존 | 67 || 존 | 90 || 데이비드 | 99 || 존 | 60 |+-----+-------+4행 세트(0.00초)

다음은 평균을 반환하는 함수를 만드는 쿼리입니다 -

mysql> set global log_bin_trust_function_creators=1;Query OK, 영향을 받는 행 0개(0.28초)mysql> DELIMITER //mysql> CREATE FUNCTION getAverageDemo() RETURNS INT BEGIN DECLARE 값 INT; SELECT AVG(Marks) INTO 값에서 DemoTable638 WHERE Name="John"; 반환 값; 끝; //쿼리 OK, 0행 영향(0.35초)mysql> DELIMITER;

이제 select 문을 사용하여 함수를 호출할 수 있습니다 -

mysql> getAverageDemo() 선택;

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

+------------------+| getAverageDemo() |+------------------+| 72 |+------------------+1 행 세트(0.01초)