Если count
- единственный столбец, который вы обновляете (или у вас нет других критериев, указанных в предложении where), то вы можете просто сделать это в предложении where
UPDATE [Table] SET counts = counts - 1 WHERE counts > 0;
Однако, если вы обновляете другие столбцы в том же запросе, это не сработает. Но у вас есть варианты
UPDATE [Table] SET counts = MAX(counts - 1, 0);
или
UPDATE [Table] SET counts = CASE WHEN counts > 0 THEN counts - 1 ELSE 0 END;