#mysql #sql #netbeans
#mysql #sql #netbeans
Вопрос:
Я загружаю некоторые данные
ID |Price | Date
01 | 100 | 2019-04-11
02 |200 | 2019-04-12
03 |300 | 2019-05-10
Как я могу получить СУММУ цены только за апрель МЕСЯЦ (4)?
Комментарии:
1. Просто используйте
WHERE
предложение, которое выбирает нужный вам месяц.
Ответ №1:
Я настоятельно рекомендую написать логику следующим образом, предполагая, что вы имеете в виду апрель 2019 года, а не все апреля с течением времени:
select sum(t.price)
from t
where t.date >= '2019-04-01' and
t.date < '2019-05-01';
Когда вы используете функцию, подобную month()
для столбца, это почти всегда предотвращает использование индексов в столбце. Однако прямые сравнения хороши.
Ответ №2:
это будет работать:
select sum(a.Price),month(a.Date)
from Table1 a
where month(a.Date)=4
group by month(a.Date);
проверьте:http://sqlfiddle.com /#!9/cfe06/4
вы также можете создать функциональный индекс на основе месяца (a.Date) для более быстрой обработки, как упоминал ГордонЛинофф!!!