SQL に EAV テーブルがあり、通常は ID ごとに複数のレコードがあります。これらの各レコードには、「重み」と呼ばれる列に数値があり、ID ごとにレコードが重みの降順でランク付けされるように、このテーブルを並べ替えようとしています。将来、データがテーブルに入るときにデータが確実にソートされるようにするつもりなので、これは 1 回限りのプロセスになります。
SELECT
また、すべてのデータに対してこのようなことを行い、必要な方法で並べ替えてから、REPLACE
コマンドを使用してテーブル内の古いデータを置き換えるための通常のプロトコルはありますか?
次のようにして、1つのIDに対してこれを実行できることを知っています。
SELECT * FROM my_table WHERE id = 'X' ORDER BY weight DESC
しかし、テーブル内の各IDに対して何らかの方法でこれを行う必要があります。これは通常どのように行われますか?