2013-08-26 2 views
0

국가별로 결과를 반환하는 웹 사이트가 있습니다. 이 쿼리를 반환하는 다음 루프를 사용하여 데이터를 출력합니다. 유일한 문제는 이들 중 하나에 대해 하위 50 열이 있고 그 결과가 36 열까지 동일하다는 것입니다. 중복 열을 제거하는 데 도움이 필요합니다.mysql 결과에서 중복 열을 제거하는 데 도움이 필요합니다.

// By country 
// sort countries by most subXs in descending order 
arsort($country_sub{$dsub}); 
// print results 
echo "<b><span style='font-size:20px;'>By Country</span></b>"; 
echo "<table><tr style='font-weight:bold;'><td style='width:100px;'>Country</td><td>sub".$dsub."</td>"; 
for($i=$dsub-1; $i>=$x; $i--){ echo "<td>sub".$i."</td>"; } 
echo "</tr>"; 
foreach($country_sub{$dsub} as $country => $value){ 
echo "<tr><td>".$country."</td><td>".$value."</td>"; 
for($i=$dsub-1; $i>=$x; $i--){ 
if (isset($country_sub{$i}[$country])) { 
    echo "<td>".$country_sub{$i}[$country]."</td>"; 
} else{ 
    echo "<td></td>"; 

} 
echo "</tr>"; 
} 
echo "</table><br/>"; 

배열 $country_sub{$dsub} 그 결과 이하의 사람의 수를 포함합니다. foreach 루프는 최상위 숫자를 출력하고 for 루프는 결과 자체를 출력합니다.

이 코드에서이 코드가 사용 된 위치는 http://cubingstats.netau.net/3bld/index.php입니다. '국가 별'섹션에서 사용됩니다. 내가 원하는 것은 서브 테이블 36과 서브 27 (위에 열거 된 것)을 보여주기 위해서입니다. 어떤 도움이라도 매우 유용합니다!

편집 : 26-32 행 (링크는 아래 주석 참조)은 addOne 함수를 보여 주며, 이는 배열에 추가됩니다. 결과가 표시되면 48-50 및 68-70 행에이 값이 사용됩니다. 당신의 SQL 쿼리에서

+1

DISTINCT을 추가? 그게 도움이 될 것입니다 –

+0

귀하의 쿼리에 GROUP BY 값을 시도 할 수 – Tiago

+0

질문에 귀하의 검색어는 ... 그걸 보는 것이 도움이 될 것입니다. – wiscWeb

답변

2

, 얼마나 쿼리 및 출력에 대한 SELECT

SELECT DISTINCT fields,fields...fields 
FROM... 
관련 문제