powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка средних значений мо месяцам.
8 сообщений из 8, страница 1 из 1
Выборка средних значений мо месяцам.
    #38737814
alexforce2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Помогите составить запрос для выборки из базы средних значений суммы заказа по месяцам текущего года. Есть таблицы:
таблица заказов - "order"('id', 'date_created') date=UnixTime
таблица товаров заказа "order_product"('id_order', 'id_product', 'price', 'quantity')

За конкретный месяц составил такой запрос
Код: plsql
1.
2.
3.
4.
5.
SELECT AVG(receipt.total)
FROM(SELECT SUM(op.price*op.quantity) AS total
FROM `order` o 
JOIN order_product op ON op.id_order=o.id
WHERE o.date_created BETWEEN unixTimeНачалаМесяца AND unixTimeКонцаМесяца GROUP BY o.id) AS receipt


Можно ли составить запрос, результатом которого будут строки(одна строка - один месяц), где в каждой строке будет среднее значение чека за месяц(значение как в запросе выше)?
...
Рейтинг: 0 / 0
Выборка средних значений мо месяцам.
    #38737854
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
SELECT 
   date_format(op.date,'%Y-%m') year_month,
   AVG(op.price*op.quantity) month_average  
FROM  order_product op 
GROUP BY 1
...
Рейтинг: 0 / 0
Выборка средних значений мо месяцам.
    #38737863
alexforce2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc , к сожалению ваш запрос не работает у меня.
...
Рейтинг: 0 / 0
Выборка средних значений мо месяцам.
    #38737883
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexforce2,

)))) LOL
он ведь не сам запрос написал, а концепцию ключевой идеи на основе которой вам и предстояло самому написать запрос)))
в переводе на вашу ситуацию будет что-то типа

Код: sql
1.
2.
3.
select date_format(date_created, '%Y-%m') ym, avg(price * quantity) total 
from (select * from order_product join order on id_order = order.id) t
group by 1
...
Рейтинг: 0 / 0
Выборка средних значений мо месяцам.
    #38737886
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexforce2 javajdbc , к сожалению ваш запрос не работает у меня.


а , ну да, время создания сидит на таблице ОРДЕР,
тогда примерно так, почти как у Lumix :


Код: sql
1.
2.
3.
4.
5.
6.
SELECT 
   date_format(o.date,'%Y-%m') year_month,
   AVG(op.price*op.quantity) month_average  
FROM  order o 
 JOIN order_product op ON o.id = op.order_id 
GROUP BY 1
...
Рейтинг: 0 / 0
Выборка средних значений мо месяцам.
    #38737909
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc,

не date, а date_created
он ведь голову не использует, он будет тупо копировать и опять говорить, что не работает))))
...
Рейтинг: 0 / 0
Выборка средних значений мо месяцам.
    #38737947
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumixjavajdbc,

не date, а date_created
он ведь голову не использует, он будет тупо копировать и опять говорить, что не работает))))

:) это было ясно ещо на его коде

SELECT AVG(receipt.total)
FROM(SELECT SUM(op.price*op.quantity) AS total
FROM `order` o
JOIN order_product op ON op.id_order=o.id
WHERE o.date_created BETWEEN unixTimeНачалаМесяца AND unixTimeКонцаМесяца GROUP BY o.id) AS receipt
...
Рейтинг: 0 / 0
Выборка средних значений мо месяцам.
    #38737960
alexforce2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lumix, прав, сразу не догадался подогнать под себя запрос. Но с вашей помощью составил рабочий вариант. Спасибо!
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT 
   date_format(FROM_UNIXTIME(o.date_created),'%Y-%m') as `month`,
		(SUM(op.price*op.quantity)/COUNT(DISTINCT o.id)) as `average_month`
FROM `order` o 
JOIN order_product op ON op.id_order=o.id
WHERE o.date_created IS NOT NULL
GROUP BY 1 


http://sqlfiddle.com/#!2/6d0f6/9
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка средних значений мо месяцам.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]