これは定量化するのが難しいので、最初はこの質問を適切に表現していない可能性があります。
次のような形式のテーブルがあります。
| id | other_id | timestamp |
| 1 | 1 | 2012-01-01 |
| 2 | 1 | 2012-01-02 |
| 3 | 2 | 2012-01-02 |
私がやろうとしているのは、「id」2のレコード、および「id」列の値が既知で一意であり、それに対応する「other_id」が既知である同様のレコードを前提として、どのように見つけるかです。それぞれについて、レコードの「id」は同じ「other_id」を持ちますが、私がすでに知っているものよりも最初に低い「id」を持ちます。
例えば
$arrKnownIds = array (
0 => array('id'=>2,'other_id'=>1),
1 => array('id'=>3,'other_id'=>2)
);
この情報を使用して、次のようなクエリを実行したいと思います。
while($row = mysql_fetch_assoc($result)) {
$arrPreviousIds[$row['other_id']] = $row['id'];
// having in this case values of:
// $row['other_id'] = 2;
// $row['id'] = 1;
}
UNION、複数のphpクエリステートメントを使用してこれに取り組む必要がある場合、または別の方法がある場合、私は完全に解決することはできません。
これに取り組む方法についての考えは大歓迎です。
ありがとう :)
編集-元のクエリは次の形式を取ります。
SELECT DISTINCT(`other_id`), MAX(`id`), MAX(`timestamp`)
FROM `event`
GROUP BY `other_id`
ORDER BY `id` DESC, `other_id` ASC
LIMIT 0, 10
//これは、最後の10個の一意のイベントを取得し、それらがいつ発生したかを見つけることを目的としています。
//これから、以前に発生した時期を見つけようとします。