すべての列に集計関数を適用してから、 GROUP BY id
を適用できるはずです。 :
select id,
max(name) name,
max(age) age,
max(grade) grade
from yourtable
group by id
SQL Fiddle withDemo を参照してください。
DB構造に関する限り、私が目にする唯一の問題は、同じユーザーに対して複数のレコードを挿入していることです。 UPDATE
を使用する必要があります 挿入する代わりに値を使用するステートメント。
REPLACE
>
MySQLの関数(チュートリアルはこちら
。
したがって、クエリは次のようになります。
REPLACE
INTO yourtable (`id`, `name`, `age`, `grade`)
VALUES (0, 'john', 11, null);
SQL Fiddle withDemo を参照してください。