powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Группировка по дате с условием
10 сообщений из 10, страница 1 из 1
Группировка по дате с условием
    #39797328
bamper78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача.
Есть две смены первая начинается с 07:00 до 19:00 , вторая с 19:00 по 07:00
Нужно сгруппировать по дате в формате dd.mm.yyyy c условием если во вторую смену есть значения, а время с 00:00 по 07:00 суммировать значения, но в строке дата должна быть дата смены до 00:00
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE #tmpCities
(DateT DATETIME,
Value int);

INSERT INTO #tmpCities

VALUES 
('2019-04-02 12:00:00.000', 4),    --1 смена
('2019-04-02 15:00:00.000', 2),   -- 1 смена
('2019-04-02 19:00:00.000', 10),  --2 смена
('2019-04-02 21:00:00.000', 10),  --2 смена
('2019-04-03 00:00:00.000', 5),    --2 смена
('2019-04-03 03:00:00.000', 3)     --2 смена

SELECT * FROM #tmpCities

DROP TABLE #tmpCities



На выходе должно получиться
Date Value02.04.2019 602.04.2019 28
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797349
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bamper78,

напишите CASE для условия группировки.
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797351
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select
 min(b.d), sum(a.Value)
from
 #tmpCities a cross apply
 (select cast(DateT as date), (datediff(hour, '1900', DateT) - 7) / 12) b(d, s)
group by
 b.s
order by
 min(b.d), b.s;
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797364
bamper78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,
Не получается у меня..
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797369
bamper78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,
такой результат я достигаю, нужно именно
Date Value02.04.2019 602.04.2019 28
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797399
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bamper78нужно именно
Date Value02.04.2019 602.04.2019 28Предложенный запрос дает как раз такой результат.
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797420
bamper78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,
а мне выдает
(Отсутствует имя столбца) (Отсутствует имя столбца)2019-02-04 62019-02-04 202019-03-04 8
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797446
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bamper78,

Либо исправьте в скрипте формат даты на независимый от языка, либо выполняйте с set language english.
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797463
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bamper78,

Вам еще потребуется колонка с номером смены на выходе запроса.
...
Рейтинг: 0 / 0
Группировка по дате с условием
    #39797893
bamper78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,
Спасибо, конструкция работает.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Группировка по дате с условием
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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