Как вывести в MySQL сумму всех значений, которые больше нуля (положительные)?

Как настроить SQL запрос, чтобы значения колонки `quantity`, которые меньше или равны 0, были также учтены при вычислении `sum(quantity)`?
  • 16 августа 2024 г. 17:23
Ответы на вопрос 2
Для выведения суммы всех положительных значений колонки `quantity` в MySQL можно воспользоваться следующим запросом:

```sql
SELECT SUM(quantity) AS total_sum
FROM your_table
WHERE quantity > 0;
```

Чтобы учесть значения колонки `quantity`, которые меньше или равны 0, при вычислении суммы, можно воспользоваться следующим запросом:

```sql
SELECT SUM(CASE WHEN quantity > 0 THEN quantity ELSE 0 END) AS total_sum
FROM your_table;
```

Этот запрос использует оператор CASE WHEN, который проверяет каждое значение колонки `quantity`. Если значение больше 0, то используется само значение, если меньше или равно 0, то значение считается как 0.
SELECT store_id, 
       item_id, 
       itemname, 
       unit_name, 
       COALESCE(SUM(quantity), 0) AS qty 
FROM fx_store_stock_view 
WHERE store_id = 11 
  AND firm_id = 1 
  AND itemdisabled <> 1 
  AND item_id = 107 
GROUP BY store_id, item_id
HAVING qty > 0;
Похожие вопросы