Я в работе с базами новичек и вот с чем не могу разобраться. Есть вот такая таблица
idCake
- это id
тортика, который был продан. Мне нужно посчитать, сколько тортов с id = 2
было продано в этом месяце, а сколько в предыдущем.
То есть мне нужно составить массив примерно такого вида:
[
{
id: 5, // id тортика
date: [40, 39, 10, 40, 39, 80, 40] // массив продаж по месяцам, то есть за янв. продано 40 шт., февраль 39 шт., март 10 и тд
}
]
Возможно сделать такое сложение запросом к базе или нужно сделать несколько простых запросов и складывать уже на бэке или фронте?
Можно одним запросом к базе:
SELECT idCake, MONTH(Data), COUNT(idOrders)
FROM YourTable
WHERE idCake = 2
GROUP BY idCake, MONTH(Data)
MONTH()
- получает месяц из даты (если нужно название месяца, то - MONTHNAME()
);
COUNT()
- считает количество заказов. Так как эта функция агрегирующая, необходима группировка;
GROUP BY
- группируем сначала по idCake
, потом по месяцу;
Если нужно посчитать для всех типов тортов, то нужно убрать строку WHERE idCake = 2
.
Написал код, вроде рабочий, но не принимает проверка JavaRush, в итоге переделал элегантно и правильно, но не могу понять ГДЕ ошибкаВроде же всё...
Есть запрос на получение данных с джойном многих таблицНеобходимо отсортировать товары по приоритету поле int Но не у каждого товара есть...
Нужно сделать приложениеЕго суть такова: Есть микроконтроллер (TTL) - он подключается через USB к ПК