Je lijkt niet veel antwoorden te krijgen - dus hier is iets als je niet de juiste 'how-to do it in pure SQL' krijgt. Negeer deze oplossing als er iets SQL-achtigs is - het is gewoon een defensieve codering, niet elegant.
Als u een som van alle gegevens met hetzelfde seizoen wilt krijgen, waarom zou u dan dubbele records verwijderen - haal het gewoon naar buiten, voer een foreach-lus uit, som alle gegevens op met dezelfde seizoenswaarde, werk de tabel bij met de juiste waarden en verwijder onnodige invoer. Hier is een van de manieren om het te doen (pseudocode):
productsArray = SELECT * FROM products
processed = array (associative)
foreach product in productsArray:
if product[season] not in processed:
processed[season] = product[quantity]
UPDATE products SET quantity = processed[season] WHERE id = product[id]
else:
processed[season] = processed[season] + product[quantity]
DELETE FROM products WHERE id = product[id]