Otra opción:
INSERT INTO tbl (count, otherID)
VALUES (2, 'a')
ON DUPLICATE KEY UPDATE
count = GREATEST(VALUES(count), count) ;
Advertencia: Esto fallará si el valor pasado para count es NULL (en lugar de 2 ). Actualizará la columna con NULL . Entonces, es mejor usar el IF() o un CASE cláusula.
A no ser que prefieras la (ahí va la elegancia...):
ON DUPLICATE KEY UPDATE
count = GREATEST(COALESCE(VALUES(count), count), count) ;