Ini pembaruan Anda:
UPDATE stats
SET totalgames = x.games, wins = x.wins
FROM (SELECT LOWER(nick) AS nick, SUM(totalgames) AS games, SUM(wins) AS wins
FROM stats
GROUP BY LOWER(nick) ) AS x
WHERE LOWER(stats.nick) = x.nick;
Berikut ini penghapusan untuk menghapus baris duplikat:
DELETE FROM stats USING stats s2
WHERE lower(stats.nick) = lower(s2.nick) AND stats.nick < s2.nick;
(Perhatikan bahwa sintaks 'update...from' dan 'delete...using' khusus untuk Postgres, dan dicuri tanpa malu-malu dari jawaban ini dan jawaban ini .)
Anda mungkin juga ingin menjalankan ini untuk memperkecil semua nama:
UPDATE STATS SET nick = lower(nick);
Aaaand masukkan indeks unik pada versi huruf kecil 'nick' (atau tambahkan batasan ke kolom itu untuk melarang nilai non-huruf kecil):
CREATE UNIQUE INDEX ON stats (LOWER(nick));