Я пытаюсь выбрать одно и то же col из базы данных с другим интервалом даты и значением col.
Я пробовал его по этому коду, но я не знаю, как выбрать тот же col с другим интервалом даты.
SELECT
table1.SellerAccount,
table1.ASIN AS ASIN,
SELECT AVG(table2.BuyBox) as sevenDaysBack, /* <- 7 days back */
SELECT AVG(table2.BuyBox) AS twoWeeksBack, /* <- 13 days back */
SELECT AVG(table2.BuyBox) as oneMonthBack, /* <- 30 days back */
CURDATE() AS datum
FROM
table1
LEFT JOIN
table2 ON (table2.ASIN = table1.ASIN)
GROUP BY
table1.SellerAccount, table1.ASIN
Также используется подзапросом, но существует проблема с группировкой данных.Я получаю эту ошибку
Подзапрос возвращает более 1 строки
SELECT
table1.SellerAccount,
@ASIN := table1.ASIN AS ASIN,
(SELECT AVG(table2.BuyBox) FROM table2
WHERE table2.DATE > NOW() - INTERVAL 7 DAY AND table2.ASIN = @ASIN
GROUP BY SellerAccountId) AS BuyBoxWeekBack,
(SELECT AVG(table2.BuyBox) FROM table2
WHERE table2.DATE > NOW() - INTERVAL 14 DAY AND table2.ASIN = @ASIN
GROUP BY SellerAccountId) AS BuyBoxTwoWeekBack,
(SELECT AVG(table2.BuyBox) FROM table2
WHERE table2.DATE > NOW() - INTERVAL 300 DAY AND table2.ASIN = @ASIN
GROUP BY SellerAccountId) AS BuyBoxMonthBack,
CURDATE() AS date
FROM
table1
GROUP BY
table1.SellerAccount, table1.ASIN
Я ожидаю, что выходные данные должны возвращать сгруппированные данные по SellerAccount и ASIN.И AVG купить коробку по ASIN и интервал дат.