웹 애플리케이션의 개발 프로세스에서는 종종 데이터베이스의 데이터의 통계 또는 계산을 집계해야합니다. PHP를 사용한 PDO (PHP Data Objects) 확장자는 데이터베이스 운영을 단순화 할뿐만 아니라 코드의 보안 및 유지 보수 가능성을 향상시킵니다. 이 기사에서는 PDO를 통해 데이터 그룹화 및 집계 쿼리를 구현하고 완전한 샘플 코드를 제공하는 방법을 살펴 봅니다.
그룹화 및 집계 쿼리를 수행하기 전에 먼저 데이터베이스 연결을 설정해야합니다. 다음 예제는 PDO를 통해 MySQL 데이터베이스에 연결하는 방법을 보여줍니다.
$ dsn = 'mysql : host = localhost; dbname = myDatabase;';
$ user = 'username';
$ password = 'password';
노력하다 {
$ pdo = new Pdo ($ dsn, $ user, $ password);
$ pdo-> stattribute (pdo :: attr_errmode, pdo :: errmode_exception);
Echo "데이터베이스에 성공적으로 연결하십시오!";
} catch (pdoexception $ e) {
Echo "데이터베이스에 연결하는 것은 실패했습니다.". $ e-> getMessage ();
}
위의 코드에서는 PDO를 통해 데이터베이스 연결을 생성하고 특정 정보를 캡처하고 오류를 제기 할 수 있도록 예외 모드를 설정합니다.
우리가 속한 학생 이름과 수업이 포함 된 학생 테이블이 있다고 가정합니다. 이제 우리는 수업에 따라 학생 수를 세고 싶습니다. PDO와 결합 된 다음 SQL을 사용하여 구현할 수 있습니다.
$ sql = "클래스 선택, count (*)은 학생 그룹에서 학생들로부터 student_count로 count (*)를 수업별로";
노력하다 {
$ stmt = $ pdo-> 준비 ($ sql);
$ stmt-> execute ();
$ result = $ stmt-> fetchall (pdo :: fetch_assoc);
foreach ($ round as $ row) {
에코 "클래스 :". $ row [ 'class']. ", 학생의 수 :". $ row [ 'student_count']. "<br> ";
}
} catch (pdoexception $ e) {
echo "쿼리 데이터 실패 :". $ e-> getMessage ();
}
성명서별 그룹을 통해 각 수업에 해당하는 학생 수를 쉽게 얻을 수 있습니다.
통계 그룹 외에도 데이터베이스의 일반적인 요구 사항에는 합산, 평균, 최대 및 최소와 같은 집계 계산도 포함됩니다. 다음 예제는 pdo를 사용하여 집계 함수를 실행하는 방법을 보여줍니다.
$ sql = "select count (*) as student_count, avg (score), avg_score, max (score) max_score, min (score)은 학생들의 최소서";
노력하다 {
$ stmt = $ pdo-> 준비 ($ sql);
$ stmt-> execute ();
$ result = $ stmt-> fetch (pdo :: fetch_assoc);
에코 "총 학생 수 :". $ result [ 'student_count']. "<br> ";
에코 "평균 점수 :". $ result [ 'avg_score']. "<br> ";
에코 "최대 점수 :". $ result [ 'max_score']. "<br> ";
에코 "최소 최소 점수 :". $ result [ 'min_score']. "<br> ";
} catch (pdoexception $ e) {
echo "쿼리 데이터 실패 :". $ e-> getMessage ();
}
이 예에서는 총 학생 수, 평균 점수, 최고 점수 및 최저 점수를 포함하여 한 번에 다양한 통계를 얻었습니다.
이 기사의 설명을 통해 PHP PDO를 사용하여 데이터베이스에 연결하고 SQL 문을 사용하여 PDO를 결합하여 데이터 그룹화 및 집계 계산을 구현하는 방법을 배웠습니다. 이러한 기술은 복잡한 데이터 통계 요구 사항을 처리 할 때 매우 실용적이며 개발자가 효율적인 데이터 처리 로직을 신속하게 구축 할 수 있도록 도울 수 있습니다.