powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
7 сообщений из 7, страница 1 из 1
Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
    #40055045
sysn1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Задание такое: Требуется вывести общие суммы начислений за каждый месяц по каждой услуге за все время с сортировкой по месяцам, с под итогами (первый скрин).
Не могу выполнить часть с "под итогом". В комментах выложу свой скрин с запросом. Подскажите, пожалуйста.

Код: sql
1.
2.
SELECT (MONTH(D_Date)+YEAR(D_Date)*100) AS N_Month, C_Sale_Items, SUM(N_Amount) AS N_Amount_Sum FROM dbo.FD_Bills
GROUP BY C_Sale_Items, (MONTH(D_Date)+YEAR(D_Date)*100)
...
Рейтинг: 0 / 0
Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
    #40055046
sysn1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
    #40055049
sysn1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CREATE TABLE dbo.FD_Bills -- Счета
(
[LINK] [int] IDENTITY NOT NULL PRIMARY KEY, -- Ид
[C_Number] [varchar] (50) NULL, -- Номер
[F_Subscr] [int] NOT NULL, -- Л/с
[C_Sale_Items] [varchar](50) NOT NULL, -- Услуга
[D_Date] [date] NOT NULL DEFAULT GETDATE(), -- Дата
[N_Amount] [money] NOT NULL, -- Сумма
[N_Amount_Rest] [money] NOT NULL, -- Остаток
CONSTRAINT FK_FD_Bills_SD_Subscrs FOREIGN KEY (F_Subscr) REFERENCES dbo.SD_Subscrs (LINK) ON DELETE CASCADE
)
GO

INSERT dbo.FD_Bills
SELECT 'Счг-1/1', 1, 'ГВС', '20181205', 150, 150
INSERT dbo.FD_Bills
SELECT 'Счх-1/1', 1, 'ХВС','20181208', 100, 100
INSERT dbo.FD_Bills
SELECT 'Счэ-1/1', 1, 'Э/Э','20181221', 30, 30
INSERT dbo.FD_Bills
SELECT 'Счг-1/2', 2, 'ГВС', '20181211', 170, 170
INSERT dbo.FD_Bills
SELECT 'Счх-1/2', 2, 'ХВС','20181214', 105, 105
INSERT dbo.FD_Bills
SELECT 'Счэ-1/2', 2, 'Э/Э','20181216', 45, 45

INSERT dbo.FD_Bills
SELECT 'Счг-2/1', 1, 'ГВС', '20190105', 165, 165
INSERT dbo.FD_Bills
SELECT 'Счх-2/1', 1, 'ХВС','20190108', 110, 110
INSERT dbo.FD_Bills
SELECT 'Счэ-2/1', 1, 'Э/Э','20190121', 55, 55
INSERT dbo.FD_Bills
SELECT 'Счг-2/2', 2, 'ГВС', '20190111', 185, 185
INSERT dbo.FD_Bills
SELECT 'Счх-2/2', 2, 'ХВС','20190114', 115, 115
INSERT dbo.FD_Bills
SELECT 'Счэ-2/2', 2, 'Э/Э','20190101', 60, 60

INSERT dbo.FD_Bills
SELECT 'Счг-3/1', 1, 'ГВС', '20190205', 165, 165
INSERT dbo.FD_Bills
SELECT 'Счх-3/1', 1, 'ХВС','20190208', 110, 110
INSERT dbo.FD_Bills
SELECT 'Счэ-3/1', 1, 'Э/Э','20190221', 55, 55
INSERT dbo.FD_Bills
SELECT 'Счг-3/2', 2, 'ГВС', '20190211', 185, 185
INSERT dbo.FD_Bills
SELECT 'Счх-3/2', 2, 'ХВС','20190214', 115, 115
INSERT dbo.FD_Bills
SELECT 'Счэ-3/2', 2, 'Э/Э','20190216', 60, 60
...
Рейтинг: 0 / 0
Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
    #40055064
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sysn1k,

Код: sql
1.
2.
SELECT (MONTH(D_Date)+YEAR(D_Date)*100) AS N_Month, C_Sale_Items, SUM(N_Amount) AS N_Amount_Sum FROM dbo.FD_Bills
GROUP BY rollup((MONTH(D_Date)+YEAR(D_Date)*100) , C_Sale_Items )
...
Рейтинг: 0 / 0
Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
    #40055066
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите GROUP BY rollup , GROUP BY cube, GROUP BY grouping sets.
В Вашем случае GROUP BY rollup:

Код: sql
1.
2.
SELECT (MONTH(D_Date)+YEAR(D_Date)*100) AS N_Month, C_Sale_Items, SUM(N_Amount) AS N_Amount_Sum FROM dbo.FD_Bills
GROUP BY rollup  ((MONTH(D_Date)+YEAR(D_Date)*100),C_Sale_Items)
...
Рейтинг: 0 / 0
Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
    #40055070
sysn1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
godsql, спасибо
...
Рейтинг: 0 / 0
Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
    #40055071
sysn1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilSeryi, спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как подсчитать сумму полей, которые были и так уже подсчитаны с помощью SUM()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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