Non sembra che tu ottenga molte risposte, quindi ecco qualcosa se non otterrai il giusto "come farlo in puro SQL". Ignora questa soluzione se c'è qualcosa di SQLish:è solo una codifica difensiva, non elegante.
Se si desidera ottenere una somma di tutti i dati con la stessa stagione, perché eliminare i record duplicati:basta portarlo all'esterno, eseguire un ciclo foreach, sommare tutti i dati con lo stesso valore della stagione, aggiornare la tabella con i valori corretti ed eliminare le voci non necessarie. Ecco uno dei modi per farlo (pseudocodice):
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]