Я использую следующее утверждение и получаю почти все, в чем я нуждаюсь. Кроме того, я хотел бы получить СУММУ всех результатов row_total.
SELECT c.id AS campaign_id, c.amount AS campaign_amount, c.warning_trigger,
COUNT(cc.id) as code_count, DATEDIFF(c.end_date, CURDATE()) as days_remain,
SUM(c.amount) as row_total
FROM campaigns c
JOIN campaign_codes cc
LEFT JOIN partners p on p.id = 4
WHERE c.partner_id = 4 AND cc.status = 0 AND c.id = cc.campaign_id
GROUP BY c.id
ORDER BY campaign_amount ASC
И вот результат в качестве примера, при этом последний столбец является столбцом, я хочу добавить вместе:
1 10.00 30 992 24 9920.00
3 25.00 30 995 290 24875.00
16 50.00 30 988 335 49400.00
17 100.00 30 1000 335 100000.00
, чтобы получить бегущую сумму:
SELECT c.id AS campaign_id, c.amount AS campaign_amount, c.warning_trigger,
COUNT(cc.id) as code_count, DATEDIFF(c.end_date, CURDATE()) as days_remain,
SUM(c.amount) as row_total, @r := @r + SUM(c.amount) AS running_sum
FROM (
SELECT @r := 0
) vars,
campaign c, …
, чтобы получить Grand Total (и все остальные агрегаты) в качестве дополнительной записи:
SELECT *
FROM (
SELECT c.id AS campaign_id, c.amount AS campaign_amount, c.warning_trigger,
COUNT(cc.id) as code_count, DATEDIFF(c.end_date, CURDATE()) as days_remain,
SUM(c.amount) as row_total
FROM campaign c, …
GROUP BY
c.id WITH ROLLUP
) q
ORDER BY
campaign_amount ASC
, чтобы получить все Сумма в дополнительном поле:
SELECT c.id AS campaign_id, c.amount AS campaign_amount, c.warning_trigger,
COUNT(cc.id) as code_count, DATEDIFF(c.end_date, CURDATE()) as days_remain,
SUM(c.amount) as row_total,
(
SELECT SUM(c.amount)
FROM campaign c, …
-- the same but without the GROUP BY and ORDER BY clauses.
)
FROM campaign c, …
GROUP BY
c.id
ORDER BY
campaign_amount ASC
Инкционирует ваш запрос, как:
SELECT SUM([row_total]) FROM (
Your query
) Source
из комментариев ниже, вы можете попробовать ...
Your Query
UNION ALL
SELECT '', '', '', '', '', SUM([row_total]) FROM (
Your query
) Source
Союз все позволит вам добавить дополнительную строку к набору результатов, который даст вам «полную строку». Вы можете изменить пустые поля (отдельные кавычки), чтобы соответствовать вашим типам данных или назначить им специальные значения, которые будут представлять вашу общую строку.
Поскольку формат Microsoft Office Document Imaging (MODI) содержит частные расширения формата TIFF, лучше всего использовать объектную модель Microsoft Office Document Imaging:
Использование объектной модели Microsoft Office Document Imaging 2003
Не требуется полная установка Office, а только компонент MODI. В сущности, это будет аналогично установке любого другого «компонента» на сервере.
После установки вы можете открыть MDI-документ и файл «StartAs» в виде файла TIFF, который затем можно легко импортировать в PDF с помощью различных PDF-SDK, или преобразовать TIFF в JPEG или любой другой формат изображения.
-121--4067490-Попробуйте:
Excel.Application oXL;
Excel._Workbook oWB;
Excel._Worksheet oSheet;
Excel.Range oRng;
oXL = new Excel.Application();
oXL.Visible = true;
oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
oSheet = (Excel._Worksheet)oWB.Worksheets;
oSheet.Activate();
oSheet.Cells[3, 9] = "Some Text"
-121--2153815- SELECT TB.campaign_id, TB.campaign_amount, TB.warning_trigger, TB.code_count, TB.days_remain, TB.row_total, SUM(TB.row_total) GlobalTotal FROM (SELECT c.id AS campaign_id, c.amount AS campaign_amount, c.warning_trigger,
COUNT(cc.id) as code_count, DATEDIFF(c.end_date, CURDATE()) as days_remain,
SUM(c.amount) as row_total
FROM campaigns c
JOIN campaign_codes cc
LEFT JOIN partners p on p.id = 4
WHERE c.partner_id = 4 AND cc.status = 0 AND c.id = cc.campaign_id
GROUP BY c.id
ORDER BY campaign_amount ASC) TB
GROUP BY TB.campaign_id, TB.campaign_amount, TB.warning_trigger, TB.code_count, TB.days_remain, TB.row_total