Я задал более ранний вопрос, который помог мне создать эту таблицу ниже Как получить количество уникальных SKU за дату в таблице в mysql (вопрос для самообучения)
SKU, COUNT, DateSold
12, 2, 1-Jan-08
11, 1, 1-Jan-08
11, 2, 2-Jan-08
11, 1, 3-Jan-08
13, 1, 3-Jan-08
11, 1, 4-Jan-08
13, 1, 5-Jan-08
Используя эту существующую таблицу выше и
Таблица цен SKU ниже
SKU, PRICE
11, 5.00
12, 10.00
13, 15.00
Теперь вопрос в том, как я могу использовать эти 2 таблицы для создания итогов за каждый день, не делая это вручную. Ниже представлена желаемая ТАБЛИЦА.
Day, Total
1-Jan-08, 25.00
2-Jan-08, 10.00
3-Jan-08, 20.00
4-Jan-08, 05.00
5-Jan-08, 15.00
У меня есть что-то вроде этого в файле Excel, который я создал (сводная таблица), но я надеюсь, что mysql поможет мне сделать это эффективно и быстрее. Опять же, я новичок в этом, и это помогло бы мне понять sql. Это не задание, я снова пытаюсь улучшить свои навыки.
Спасибо






Предполагая, что вы начинаете с данных о продажах из исходного вопроса, вы можете получить желаемые результаты, перенеся эту таблицу в таблицу JOIN (чтобы получить цену каждого предмета), а затем просто суммируя price каждого проданного предмета (поскольку есть только один элемент в строке). Мы PRICE, чтобы получать результаты ежедневно:
SELECT s.DateSold AS Day, SUM(p.PRICE) AS Total
FROM sales s
JOIN price p ON p.SKU = s.SKU
GROUP BY Day
Если вы хотите начать с уже агрегированных данных, вам следует несколько изменить запрос. В этом случае у вас есть GROUP BY Day предметов, продаваемых каждый день, поэтому вам нужно COUNT, которые умножают на цену предмета.
SELECT d.DateSold AS Day, SUM(d.COUNT * p.PRICE) AS Total
FROM daysales d
JOIN price p ON p.SKU = d.SKU
GROUP BY Day
Вывод (для обоих запросов):
Day Total
1-Jan-08 25
2-Jan-08 10
3-Jan-08 20
4-Jan-08 5
5-Jan-08 15
@AlphaBin, не беспокойтесь, я рад, что вы нашли ответ полезным.
Спасибо за это, я попробовал оба способа, и он работает! Спасибо, что показали мне и dbfiddle. Прекрасный ответ с ясностью!