設定テーブルに重複する値がいくつかあるように見えるので、各ユーザーの重複するエントリをすべて削除したいのですが、より新しいものです。私は解決策を考え出すのにかなりの時間を費やしましたが、ただ円を描いて走り回っています. 最大、グループ化、サブクエリなどを試しました。最高のものを削除するのは非常に簡単ですが、最高のもの以外はすべてではありません。特に各ユーザーにとって
したがって、データベースには次のものが含まれている可能性があります。
id : name: value : userId
1 : sortOrder: Asc : 1
2 : sortOrder: Desc : 1
3 : sortOrder: Asc : 2
4 : something: value2 : 1
したがって、この場合、最初の行はユーザー 1 と重複しており、最も高い ID を持ち、残りのすべての列を保持するため、最初の行を削除します。
したがって、少なくとも group by を使用したサブクエリであることはわかっていますが、それを理解することはできません。これまでのところ、私は持っています:
SELECT
MAX(id),
name
FROM
preference
GROUP BY
name
これにより、保持したいリストが表示されますが、ユーザーごとにまだ欠落しています。したがって、ユーザーごとに持っている場合は、反対のことがいくらか必要です。ただし、とにかくサブクエリで <> を使用できるとは思いません。
私が最終的にやりたいことは、重複したエントリである同じユーザーの ID が低いものをすべて削除することです。