두 개의 msyql 테이블, 배지 및 이벤트가 있습니다. BADGE_COUNT, 제목, Badges.description ASmysql 대신 max 값 가져 오기
SELECT COUNT (Badges.badge_ID) : 나는이 모든 이벤트를 찾아 가입하고 다음 코드를 사용하여 해당 이벤트 (제목 & 설명)의 배지 정보를 반환 사용
Badges
는 제목 ASC 카운트에 추가
에 의해 Badges.badge_id = Events.badge_id GROUP ON Events
가입에서, 나는 대부분의 항목이 이벤트의 값을 알 필요가있다. max() 함수를 사용하여 PHP에서이 작업을 수행 할 것이라고 생각했지만 제대로 작동하려면 문제가 발생했습니다. 그래서, "ORDER BY badgecount DESC LIMIT 1"을 사용하여 위의 쿼리를 수정하여 동일한 결과를 얻을 수 있다고 결정했습니다. 단일 요소의 배열을 반환합니다.이 배열의 값은 모든 이벤트 중 가장 많은 총계입니다.
이 솔루션은 잘 작동하지만, PHP로 작업하는 대신 서버에 2 번 호출 (b/c는 이제 두 개의 쿼리 사용)하는 데 더 많은 리소스가 필요한지 궁금합니다. 만약 내가 PHP에서 어떻게 했어, 어떻게하면 연관 배열에서 특정 항목의 최대 값을 얻을 수 있습니까? (가능하면 키와 값을 반환 할 수 있으면 좋을까요?)
편집 : 괜찮 았어, 몇 시간 동안 휴식을 취하는 것이 놀랍습니다. 나는 오늘 아침에 코드를 열었고 코드를 간단하게 수정했다. 카운트 필드에 변수를 만들고 새 값이 이전 값보다 큰 경우 다음 값을 새 값으로 변경했습니다 (다음 코드의 "if"문을 참조하십시오).
if c> $ highestCount) { $ highestCount = $ c; }
당신이 걱정하는 경우 (읽기) 성능이 계산하고 중복을 저장하는 생각이 새로운 항목이 만들어지면 정보? – VolkerK
15 분 전 질문과 비슷한 질문입니다. http://stackoverflow.com/questions/1345307/php-retrieve-minimum-and-maximum-values-in-a-2d-associative-array – Amber