>  기사  >  데이터 베이스  >  mysql 쿼리의 최대값 설명은 무엇입니까?

mysql 쿼리의 최대값 설명은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-09-03 13:33:586155검색

MySQL 최대값 쿼리 문은 다음과 같습니다. 먼저 stuname 필드를 그룹화한 다음 MAX 함수를 사용하여 각 그룹의 최대값을 계산합니다. 코드는 [SELECT a.stuname,MAX(a.score) AS .]입니다. ㅋㅋㅋ 에, stuname 필드를 그룹화한 다음 MAX() 함수를 사용하여 각 그룹의 최대값을 계산합니다.

2. 방법 2: 연결 사용

SELECT a.stuname,MAX(a.score) AS score FROM stuscore a  GROUP BY a.`stuname` ;
mysql 쿼리의 최대값 설명은 무엇입니까? 두 번째 SQL 문에서는 stuname을 판단 조건으로 사용하여 두 테이블을 연결합니다.

SELECT a.stuname,a.score AS score FROM stuscore a JOIN 
stuscore b ON a.`stuname`=b.`stuname` 
 GROUP BY a.`score` HAVING a.`score`=MAX(b.`score`);

stuscore b ON a.stuname=b.stuname만 실행하면 다음과 같은 결과 세트를 얻게 됩니다: mysql 쿼리의 최대값 설명은 무엇입니까?이 결과 집합을 얻는 이유는 연결할 때 왼쪽 테이블의 각 항목이 레코드는 연결 조건 ON a.stuname=b.stuname"에 따라 오른쪽 테이블의 각 레코드와 일치하므로 중복 레코드가 나타납니다. 이는 a의 ""와 약간 비슷합니다. 프로그래밍 언어 이중 루프". 그런 다음 그룹화 및 그룹화 조건 GROUP BY a.score HAVING a.score=MAX(b.score)을 추가하면 각 학생의 최대 점수를 얻을 수 있습니다. mysql 쿼리의 최대값 설명은 무엇입니까?

실제 리GROUP BY a.`score ` HAVING a.`score`=MAX(b.`score`)처음에는 이 그룹화 조건을 잘 이해하지 못했습니다. 즉, 점수에 따라 그룹화했습니다. field. 그런데 여기에서 MAX() 함수가 각 학생의 최대 점수를 계산할 수 있는 이유는 무엇입니까? 첫 번째 방법은 각 학생의 이름을 그룹화한 다음 MAX()를 사용하는 것입니다. 함수는 최대값을 계산하지만 두 번째 방법은 점수 필드를 그룹화하는 것입니다. 여기서 이유는 두 테이블을 연결할 때 연결 조건이 a이기 때문이라고 생각합니다. =b.stuname은 이러한 기록을 학생 이름에 따라 그룹화하므로 MAX(b.score)는 각 학생의 최대 점수를 계산할 수 있습니다

. 프로그래밍에 대해 자세히 알아보려면

php training

칼럼

에 주목하세요

위 내용은 mysql 쿼리의 최대값 설명은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.