Создание ежемесячного сводного отчета о продажах для разных продуктов. Зейн Bien пост здесь очень полезно при создании запроса для получения одной строки для одного продукта:mysql crosstab с столбцами месяца и несколькими строками поля
Income Source Jan Feb Mar -- Total Pct
Report Fees 11285 12745 17980 ... 236970 95.9954
Вот этот запрос:
SELECT "Report Fees" AS `Income Source`,
SUM(IF(MONTH(b.ord_billed_time) =1, b.ord_fee_report, 0)) AS Jan,
SUM(IF(MONTH(b.ord_billed_time) =2, b.ord_fee_report, 0)) AS Feb,
SUM(IF(MONTH(b.ord_billed_time) =3, b.ord_fee_report, 0)) AS Mar,
"..." AS `--` ,
SUM(b.ord_fee_report) AS Total,
AVG(b.ord_fee_report/b.ord_fee_total) *100 AS Pct
FROM orders b
WHERE b.ord_billed_time IS NOT NULL
AND b.ord_cancelled_time IS NULL
AND b.ord_fee_report IS NOT NULL
AND year(b.ord_billed_time) = 2012
AND b.clientID = 8
Есть ли способ, чтобы расширить этот единственный запрос, так что я получаю 8 строк, по одному для каждого типа дохода и «общая сумма»? Что-то вроде этого:
Income Source Jan Feb Mar -- Total Pct
Report Fees 11285 12745 17980 ... 236970 95.9954
Income Type2 5401 3320 1394 ... 13456 0.321
Income Type3 98 421 14 ... 1102 0.001
...
Total 333333 22222 11111 ... 9999999 100.0
доход типы хранятся в таблице заказов в отдельных колонках: ord_fee_x, ord_fee_y, ord_fee_z и т.д.
Сейчас я бегу 8 запросов и результатов загрузки в массив , затем отобразится из этого массива. Просто кажется, что эффективнее получать данные за один раз и отображать строку за строкой, как было возвращено.
Есть ли способ сделать это?
Если вы хотите сообщить больше или больше информации, вы должны использовать комментарии - а не ответы. – Damiqib
Damiqib: Извините, новичок на этом сайте. Сделаю это в будущем. – Bruce