GROUP BY 절이 없으면 MySQL에서 반환된 출력이 오해의 소지가 있을 수 있기 때문입니다. 데모를 위해 아래 'Students' 테이블에 다음 예를 제공합니다.
mysql> Select * from Student; +------+---------+---------+-----------+ | Id | Name | Address | Subject | +------+---------+---------+-----------+ | 1 | Gaurav | Delhi | Computers | | 2 | Aarav | Mumbai | History | | 15 | Harshit | Delhi | Commerce | | 20 | Gaurav | Jaipur | Computers | +------+---------+---------+-----------+ 4 rows in set (0.00 sec) mysql> Select count(*), Name from Student; +----------+--------+ | count(*) | name | +----------+--------+ | 4 | Gaurav | +----------+--------+ 1 row in set (0.00 sec)
위 쿼리 결과에서 그룹 함수 COUNT(*)의 출력을 테이블의 총 행 수로 반환하는 것을 볼 수 있습니다. 그러나 "Name" 필드의 "Gaurav" 값은 오해의 소지가 있습니다. 왜냐하면 우리가 이 작업을 수행하는 기준에 따라 이 값이 열의 첫 번째 값이거나 열에 여러 번 저장되어 MySQL이 이를 반환하기 때문입니다.
이제 GROUP BY 절을 사용하여 이 쿼리를 작성하면 결과 집합은 다음과 같습니다. -
mysql> Select count(*), name from student GROUP BY id; +----------+---------+ | count(*) | name | +----------+---------+ | 1 | Gaurav | | 1 | Aarav | | 1 | Harshit | | 1 | Gaurav | +----------+---------+ 4 rows in set (0.00 sec)
위 결과 집합에서 볼 수 있듯이 GROUP BY 절을 사용하여 의미 있는 출력을 얻습니다.
위 내용은 MySQL SELECT 쿼리에서 GROUP BY 절 없이 그룹화되지 않은 필드에 그룹 함수를 사용하면 안되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!