MySQL의 테이블 이름, 급여, 어린이, 형제, 나는 연봉의 최대 값을 갖는 사람의 이름을 검색하기 위해 노력하고있어카운트
, 30 세 이상 어린이 및 형제. 참고 : 모든 이름은 고유합니다.
모든 열이 배열 오순절 통해 I 루프를 달성하려면 :
$columns = array('salary','childrens','brothers')
foreach($columns as $value){
$result=mysql_query("SELECT `name`, `$value` FROM table_name WHERE `age`>30 ORDER BY `$value` ASC LIMIT 1");
while($rows=mysql_fetch_array($result,MYSQL_ASSOC)){
echo $rows[name];
};
};
모든 것이 잘 작동을하지만, 나는 또한 각각의 이름이 자궁강되는 시간의 양을 계산하고 싶습니다 (는를 에코). 즉, Max는 가장 높은 급여와 가장 많은 양의 형제를 갖기 때문에 그의 이름은 2 회 재임명되었습니다. Loren은 가장 많은 양의 어린이만을 보유하고 있으므로 그의 이름은 1 회 다시 검색되었습니다. 제이슨은 한번도 다시 찾지 못했기 때문에 그를 0으로 만들었습니다.
$i=0;
$columns = array('salary','childrens','brothers')
foreach($columns as $value){
$result=mysql_query("SELECT `name`, `$value` FROM table_name WHERE `age`>30 ORDER BY `$value` ASC LIMIT 1");
while($rows=mysql_fetch_array($result,MYSQL_ASSOC)){
echo "The person who has the max amount of $value is $rows[name]";
$count[$rows[name]] = $i++;
};
};
그러나 그것이 최대 값을 갖는 경우를 고려하지 않고 eache 이름은 모든 컬럼에 표시되는 횟수를 계산, 의도 한대로 작동하지 않습니다 :
나는이 시도.도움이 될 것입니다. ps : 코드를 개선하면 최대 값을 얻을 수있어서 고맙겠습니다.
UPDATE :
각 테이블에 대한 쿼리해야 출력이 :
Name salary
Max 2000
-
Name childrens
Loren 4
-
Name brothers
Max 3
$ count 배열은 다음과 같아야합니다 : $ count = array ('Max'=> 2, 'Loren'=> 1, 'Jason'=> 0, 'etc'=> 0);
더 구체적으로 모든 기록의 가장 큰 가치를 얻을 수있는 예를 들어, 급여, 어린이의 최대 값을 갖는 사람의 이름과 형제, 나이가 30 * 이상)? –