@abuamr

Как сгрупировать и суммировать данные в SQL запросе?

Есть такая таблица
5d9dfdf0dad1f694507620.jpeg

хочу групировать и суммировать данные по product_id получаю ошибку:
Query 1 ERROR: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ver.stock_delivery.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by


какой код использую
Вариант 1
SELECT
	*,
	SUM(remainder) AS sum
FROM
	stock_delivery
GROUP BY
	product_id;

Вариант 2
SELECT
	stock_delivery.id,
	stock_delivery.auto_id,
	stock_delivery.stock_id,
	stock_delivery.product_id,
	stock_delivery.quantity,
	remainder.remainder_count
FROM
	stock_delivery
	LEFT JOIN (
		SELECT
			product_id,
			sum(remainder) AS remainder_count
		FROM
			stock_delivery) AS remainder ON remainder.product_id = stock_delivery.product_id
GROUP BY
	stock_delivery.product_id
  • Вопрос задан
  • 817 просмотров
Решения вопроса 1
@abuamr Автор вопроса
Решение задачи:
SELECT
	ANY_VALUE(id) as id,
	ANY_VALUE(stock_id) as stock_id,
	product_id,
	ANY_VALUE(quantity) as quantity,
	auto_id,
	SUM(REMAINDER) AS sum
FROM
	stock_delivery
GROUP BY
	product_id,
	auto_id;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы