Выбрать общую сумму оплаты за продукты за год

Использую MariaDB 10.5.12. В БД есть поля:

price      decimal(5,2)
currency   enum('', 'usd', 'eur')
date       varchar(255)

В поле date хранится дата в свободном стиле, вроде 27 jan или 15* Если в поле date есть * - это означает помесячную оплату, иначе раз в год.

Нужно выбрать общую сумму за все товары за определённый месяц, делаю это запросом:

SELECT SUM(`price`) FROM `subscriptions` WHERE (`date` LIKE '%".$this->_dbconn->real_escape_string(strtolower($month))."%' OR `date` LIKE '%*%') AND `currency` = 'usd'

А вот как выбрать сумму за все товары за весь год? Т.е. нужно выбрать SUM(price) всех столбцов, но там где в поле date есть * нужно поле price умножить на 12. Помогите написать SQL запрос.


Ответы (1 шт):

Автор решения: Шишечка

Я не совсем понимаю как именно выглядит твоя таблица, но можно просто запросить сумму всех строк определённого поля SELECT SUM('price') FROM subscriptions WHERE date>=1 Запрос начального уровня получается и это единственное, что я смог написать исходя из твоего описания.

→ Ссылка