次の状況で助けが必要です。
非常に簡略化されたテーブルusers_log
+-----------------+-------------------+
| id | account_nr | email |
+-----------------+-------------------+
| 1 | 0000001 | cust1_@mail.com |
| 2 | 0000001 | cust1_@mail.com |
| 3 | 0000002 | cust2_@mail.com |
| 4 | 0000003 | cust3_@mail.com |
| 5 | 0000002 | cust2_@mail.com |
| 6 | 0000001 |cust1_new@mail.com |
+-----------------+-------------------+
- このテーブルには、顧客が複数回表示されることが許可されています。
- 顧客は時間の経過とともにメールアドレスを変更できます。古いエントリは更新されません。
ご覧のとおり、アカウント「0000001」が3回表示され、ある時点で彼のメールアドレスが変更されました。
メールアドレスを変更したことのない顧客の結果のみを返すクエリが必要です。さらに、すべての単一エントリが必要なので、何もグループ化されていません。
したがって、顧客「0000002」および「0000003」によるすべてのエントリは、上記の例のクエリの期待される結果になります。
スクリプト言語で複数のループを使用する方法を見つけましたが、使用できるより効率的なクエリがあるので、データベースの負荷を減らすことができるかどうか疑問に思います。これは非常に大規模なデータベースであり、可能な限り最速のクエリが必要です。よろしくお願いします。
PS:データベース構造はこのようになっていて、私には何も変更する方法がありません。