MySQL - Как я получаю СУММУ КОЛИЧЕСТВА поля?

Я использую следующее утверждение и получаю почти все, в чем я нуждаюсь. Кроме того, я хотел бы получить СУММУ всех результатов 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
8
задан k00k 29 January 2010 в 15:49
поделиться

3 ответа

, чтобы получить бегущую сумму:

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
11
ответ дан 5 December 2019 в 10:41
поделиться

Инкционирует ваш запрос, как:

SELECT SUM([row_total]) FROM (
Your query
) Source

из комментариев ниже, вы можете попробовать ...

Your Query
UNION ALL
SELECT '', '', '', '', '', SUM([row_total]) FROM (
Your query
) Source

Союз все позволит вам добавить дополнительную строку к набору результатов, который даст вам «полную строку». Вы можете изменить пустые поля (отдельные кавычки), чтобы соответствовать вашим типам данных или назначить им специальные значения, которые будут представлять вашу общую строку.

4
ответ дан 5 December 2019 в 10:41
поделиться

Поскольку формат 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
1
ответ дан 5 December 2019 в 10:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: