Задавайте вопросы, мы ответим
Вы не зашли.
добрый день.
нужен совет по построению отчёта
есть таблица с данными order_id , order_date , order_sum
необходимо получить суму по дням с возрастанием т.е.
select order_date, sum(order_sum) from order where order_date <= '2011-01-01'
таким образом мы получаем сумму всех накладных на 2011-01-01
задача стоит в том что б получить набор данных дата, сумма:
2011-01-01 2569,00
2011-01-02 5893,00
2011-01-03 8495,00
2011-01-04 11256,00
...
2011-09-25 758245,00
т.е. каждый день сумирует себя + все предидущие
как я понимаю нужен цикл с инкрементом даты
сразу наткнулся на функции и процедуры и споткнулся на выводе данных нужен массив поскольку вводить переменные
на каждый день нерационально
можно конечно легко совместить с perl но для начала всё же хотелось бы это попробовать реализовать средствами MySQL
Заранее спасибо.
Неактивен
Неактивен
спасибо, результат устраивает
интересно используется свойство цикличной обработки данных "select"ом
или это результат "group"
если не затруднит, ещё один вопрос:
в таблице order есть поле - статус накладной "status"
используя left join объединяется два результата запросов
1. все накладные со статусом in (0,3)
2. только 3
соответственно статус 3 есть не каждый день но необходимо что бы сума была в каждой записи синхронно с результатом запроса где статус накладных (0,3)
но OUT от второго не содержит данных
пробовал IF но результат уже объеденён "group"
объясняю возможно путанно
вот запрос
Отредактированно axe79 (14.12.2011 17:58:10)
Неактивен
axe79 написал:
интересно используется свойство цикличной обработки данных "select"ом
или это результат "group"
Подзапрос создает временную таблицу t1, содержащую дату и сумму всех накладных за эту дату. Причем выборка будет упорядочена по дате, так как группировка подразумевает неявную сортировку.
А внешний запрос один раз пробегает по этой выборке суммируя вторую колонку.
axe79 написал:
если не затруднит, ещё один вопрос:
Что-то я не понял что требуется получить. Давайте на примере нескольких тестовых строк. Какой результат вы хотите получить и почему именно такой.
Неактивен
должно было отработать где то так))
Отредактированно axe79 (15.12.2011 13:06:32)
Неактивен
я проверил - вывел дату со второго подзапроса
там пусто ... где то теряется((
Неактивен
Я правильно понимаю, что в 5ом посте вы написали запрос, который выводит нужный вам результат?
Единственное дополнение t1.order_date не может принимать null значение, поэтому проверка "ifnull(t1.order_date,'none') dt1" не нужна.
Неактивен