私には、これに関連する多くの同様のスレッドがありますが、私の状況に合ったものは見つかりません。mysqlグループを返すことによってセット
私が探しているのは、私がuser_idでグループ化し、max id set(idは一意の列ではありません)を返すことができるmysql文です。
SELECT * FROM table WHERE url_id IN (3629,4115) group by url_id having max(id);
問題文が唯一のそのセットのためだけのトップの検索エンジンを出力していることである:
id url_id submit_date engine status message
14738 3629 2009-01-02 18:43:55 0pn 10 NULL
14738 3629 2009-01-02 18:43:55 Abacho 10 NULL
14738 3629 2009-01-02 18:43:55 Acoon 10 NULL
14739 3629 2009-01-02 18:43:55 Alexa 10 NULL
14739 3629 2009-01-02 18:43:55 Amfibi 10 NULL
14739 3629 2009-01-02 18:43:55 Burf 10 NULL
14740 4115 2009-01-02 18:43:55 0pn 10 NULL
14740 4115 2009-01-02 18:43:55 Abacho 10 NULL
14740 4115 2009-01-02 18:43:55 Acoon 10 NULL
14741 4115 2009-01-02 18:43:55 Alexa 10 NULL
14741 4115 2009-01-02 18:43:55 Amfibi 10 NULL
14741 4115 2009-01-02 18:43:55 Burf 10 NULL
はここに私のSQL文です:
は、ここに私のデータです。そのIDセットに含まれるすべての検索エンジンが必要です。私はまたかなりのパフォーマンスのヒットを引き起こすので、入れ子になったSQL文を使用したくありません。
私はネストされたステートメントは望んでいませんでしたが、このクエリはトリックでした。 377Kの結果でデータベースに1.3秒で結果を返しました。ありがとう! – greatwitenorth
ur welcome mate ... :) – Teja
アップアップするには2ポイント以上必要です – greatwitenorth