필드 데이터를 기준으로 MySQL 결과 그룹화: 포괄적인 접근 방식
MySQL 데이터베이스의 데이터를 구성할 때 필드 데이터를 기준으로 결과를 그룹화해야 하는 경우가 많습니다. 특정 필드 값에 대해. 이는 SQL 쿼리 또는 PHP 코드를 사용하여 수행할 수 있습니다.
SQL 쿼리 사용
첫 번째 예에서는 "그룹"을 기반으로 데이터를 그룹화하려는 경우 필드에서 다음과 같은 간단한 SQL 쿼리를 사용할 수 있습니다.
SELECT Group, GROUP_CONCAT(Name) AS Names FROM table_name GROUP BY Group
이 쿼리는 GROUP_CONCAT() 함수를 사용하여 각 그룹과 관련된 모든 이름을 연결하고 "그룹" 필드로 그룹화된 결과를 반환합니다.
PHP 사용
PHP 사용을 선호하는 경우 데이터베이스에 연결하여 다음과 같이 쿼리를 실행할 수 있습니다.
<code class="php">$dbc = new MySQLi(DBHOST, DBUSER, DBPASS, DB); $result = $dbc->query("SELECT Group, GROUP_CONCAT(Name) AS Names FROM table_name GROUP BY Group"); while ($row = $result->fetch_assoc()) { $names = explode(",", $row["Names"]); echo "<tr><td>{$row["Group"]}</td><td>{$names[0]}</td></tr>"; // Print the first name foreach ($names as $name) { // Print remaining names echo "<tr><td></td><td>{$name}</td></tr>"; } }</code>
여러 테이블이 있는 그룹 중첩
여러 테이블과 추가 "coef" 값이 있는 더 복잡한 예의 경우 중첩 쿼리를 사용하거나 SQL과 PHP의 조합을 사용하여 원하는 결과를 얻을 수 있습니다. 그룹화.
가능한 PHP 솔루션
이 시나리오에 가능한 PHP 솔루션은 다음과 같습니다.
<code class="php">$dbc1 = new MySQLi(DBHOST, DBUSER, DBPASS, DB1); $dbc2 = new MySQLi(DBHOST, DBUSER, DBPASS, DB2); $groups_query = "SELECT Group, GROUP_CONCAT(Name) AS Names FROM table1 GROUP BY Group"; $coefs_query = "SELECT meta_value, title, group FROM table2"; $groups_result = $dbc1->query($groups_query); $coefs_result = $dbc2->query($coefs_query); while ($group = $groups_result->fetch_assoc()) { echo "<tr><td>{$group["Group"]}</td><td>{$group["Names"]}</td></tr>"; $coefs_result->data_seek(0); // Reset pointer to beginning of coefs result set while ($coef = $coefs_result->fetch_assoc()) { // Loop through coefs result set if ($coef["group"] == $group["Group"]) { echo "<tr><td></td><td>{$coef["title"]}</td><td>{$coef["meta_value"]}</td></tr>"; } } }</code>
이 솔루션은 SQL 쿼리를 결합하여 검색합니다. 그룹과 이름을 검색하고 PHP를 사용하여 결과를 반복하고 두 번째 테이블에서 계수와 제목을 검색합니다.
위 내용은 필드 데이터별로 MySQL 결과를 그룹화하는 방법: 종합 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!