問題があります。実際には、最初の SELECT の名前とタイムスタンプに基づいて MySQL テーブル内のすべての重複を削除する最も簡単な方法についての質問です。
だから、私はこのテーブルを持っています:
SELECT * FROM search;
+------+--------+------------+--------------------------+-----------------------+
| id | uid | string | cat | timestamp |
+------+--------+------------+--------------------------+-----------------------+
|39523 | 87 |eat to live | a:1:{i:0;s:5:"toate";} | 2013-10-07 17:01:41 |
|39524 | 87 |eat to live | s:6:"author"; | 2013-10-07 17:01:41 |
|39525 | 87 |eat to live | s:6:"people"; | 2013-10-07 17:01:41 |
|39526 | 87 |eat to live | s:7:"company"; | 2013-10-07 17:01:41 |
|39527 | 87 |eat to live | s:6:"author"; | 2013-10-07 17:01:42 |
|39532 | 31 | friends | a:1:{i:0;s:5:"toate";} | 2013-10-07 17:04:17 |
|39533 | 31 | friends | s:6:"people"; | 2013-10-07 17:04:17 |
|39534 | 31 | friends | s:7:"company"; | 2013-10-07 17:04:17 |
|39535 | 31 | friends | s:6:"author"; | 2013-10-07 17:04:17 |
+------+--------+------------+--------------------------+-----------------------+
そして、最初のユニークな姿だけを残しておきたい。私の解決策は、すべての行を選択し、それらを通過し、各行で同じ文字列に一致するすべての行を削除し、同じuidとタイムスタンプを同じタイムスタンプまたは+1秒にすることです。
ご意見/ご提案はありますか? 私はこれを PHP で行うことができますが、SQL クエリを使用して直接これを行う簡単な方法があるかどうか疑問に思っていました。
ありがとう