2009-07-30 21 views
0

私は昨日同様の質問をしましたが、今はちょっとした工夫があります。私はすでに回答にクレジットを与えて以来、私は新しい質問を作成することに決めました。複数の行を更新PHPからのMySQL - 軽いツイスト

私がやろうとしていることは次のとおりです。任意の数の行を選択しますが、は1つのフィールドの選択行の数に制限を設けています。

$query = "SELECT test_id, field1, field2 FROM tablename WHERE field1 = 'string' LIMIT 5" 

ので、ここで問題です:私は、各「test_id」から1つの結果の最大値をしたいので、行がtest_id 1で選択されている場合、それはtest_id 1

と他の可能な結果を​​スキップします

アイデア

EDIT:GROUP BY test_id LIMIT 5 ...結果の総数または同じtest_idを持つものの数を制限します。私は、MySQLは値をフェッチする行の1つを取るあなたはGROUP BY test_idを使用している場合は、これ以上の

5より感謝の合計で、1に各test_idに
マイケル

答えて

1

を制限したいのですが。

GROUP BY句にはないSELECTフィールドに集約関数が必要なため、すべてのRDBMS(SQL Serverなど)では機能しません。

+0

だから私はtest_id BY GROUPを持っている場合...それは5つの合計結果に制限していLIMIT 5 が続く、またはそれが5行を超えることはありませんtest_id – Dirk

+0

集計結果ごとに保持し、結果を制限しません。それは1つの未確定的な(しかし、ランダムではない)行を選択します* per * test_id –

関連する問題