私は2つのmsyqlテーブル、バッジとイベントを持っています。私はすべてのイベントを見つけて、次のコードを使用して、そのイベントのバッジ情報(タイトル&記述)を返すように結合を使用:mysqlの代わりにphpで最大値を取得
SELECT COUNT(Badges.badge_ID) badge_count、タイトル、Badges.description ASを
Badges
からカウントダウンに加えてタイトルASC
BY Events
ON Badges.badge_id = Events.badge_id GROUP JOINを、私はほとんどのエントリを持つイベントの価値を知っている必要があります。私はmax()関数を使ってPHPでこれを行うと思っていましたが、正しく動作するようにするのは難しかったです。だから、私は、 "ORDER BY badgecount DESC LIMIT 1"を使って上記のクエリを修正することで同じ結果を得ることができたと判断しました。
この解決策は私にとってはうまくいくが、PHPで作業する代わりに、2つのクエリを使用してサーバーへの呼び出しを2回行う(b/c)私はPHPでそれをやった場合、どのように私は連想配列の特定の項目の最大値を得ることができます(可能な場合、キーと値を返すことができればいいですね)?
EDIT: OK、それは心のために何時間も安心しています。私は今朝自分のコードを開き、簡単にコードを修正してくれました。私は単純にカウント・フィールドに変数を作成し、新しいものが古いものよりも大きかった場合は、新しい値(次のコードでは「IF」文を参照してください)にそれを変更:($場合
c> $ highestCount){ $ highestCount = $ c; }
あなたは(読み)パフォーマンスについて心配している場合は、冗長性を計算し、保存するために考えられてきました新しいエントリーが作られた時の情報? – VolkerK
15分前に尋ねられたこの類似した質問をご覧ください: http://stackoverflow.com/questions/1345307/php-retrieve-minimum-and-maximum-values-in-a-2d-associative-array – Amber