PostgreSQL позволяет выполнять простейшие арифметические операции. В качестве операндов могут выступать числовые константы, значения столбцов таблиц, результаты выполнения подзапросов, возвращающих одну строку.
Сложение
Для сложения двух значений достаточно поставить +
между ними:
SELECT 1 + 2 AS result
Можно писать выражения посложнее:
SELECT 1 + 2 + 3 AS result
Вычитание
SELECT 3 - 2 AS result
SELECT 2 - 3 AS result
Определим, на сколько цена товара в магазине отличается от минимальной цены на этот товар по всем магазинам:
SELECT pp.product_id,
pp.store_id,
pp.price,
pp.price - (
-- минимальная цена на продукт
SELECT min (ppa.price)
FROM product_price ppa
WHERE ppa.product_id = pp.product_id
) AS diff_min
FROM product_price pp
ORDER BY pp.product_id, pp.price
Умножение
SELECT 3 * 3 AS result
SELECT 3 * 9 AS result
Определим размер 25% скидки от стоимости товара
SELECT pp.product_id,
pp.store_id,
pp.price,
pp.price * 0.25 AS discount
FROM product_price pp
ORDER BY pp.product_id,
pp.store_id
Деление
SELECT 27 / 3 AS result
Определим четверть стоимости товара
SELECT pp.product_id,
pp.store_id,
pp.price,
pp.price / 4 AS discount
FROM product_price pp
ORDER BY pp.product_id,
pp.store_id