Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 группировка по максимальному дню в каждом месяце  [new]
Romanov-krd
Member

Откуда:
Сообщений: 120
есть таблица как во вложении.
Как из нее без подзапросов выбрать мах дату для каждого месяца?
т.е. должно получиться begin_dt - 2017-01-01,2016-01-02,2019-01-11

если использовать
select max(begin_dt) 


то только макс дату выбирает

К сообщению приложен файл. Размер - 7Kb
7 июн 19, 13:37    [21904474]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Romanov-krd,

max(begin_dt) OVER (PARTITION BY DATEDIFF(month,0,begin_dt))
7 июн 19, 13:39    [21904481]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Romanov-krd
Member

Откуда:
Сообщений: 120
TaPaK,

select 
whs_id,
max (t1.begin_dt) OVER (PARTITION BY DATEDIFF (month,0,t1.begin_dt))
from table t1
group by 1


почему то пишет ошибку - expected something between ( and month
хотя вроде бы все правильно
7 июн 19, 14:14    [21904535]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Romanov-krd,

автор
почему то пишет ошибку - expected something between ( and month
хотя вроде бы все правильно

В аптеке тоже хлеб покупаете?
7 июн 19, 14:16    [21904540]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Romanov-krd
Member

Откуда:
Сообщений: 120
TaPaK,

нет, а что тут не правильно?
7 июн 19, 14:27    [21904556]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Romanov-krd
TaPaK,

нет, а что тут не правильно?

здесь аптека, а вам надо в булочную
7 июн 19, 14:39    [21904569]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Konst_One
Member

Откуда:
Сообщений: 11521
...
from table t1
...
7 июн 19, 14:43    [21904575]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Romanov-krd
Member

Откуда:
Сообщений: 120
Konst_One,

таблица в базе у меня по другому называется, не из за названия ошибка
7 июн 19, 15:02    [21904597]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Konst_One
Member

Откуда:
Сообщений: 11521
версия сервера?
7 июн 19, 15:02    [21904598]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Konst_One
Member

Откуда:
Сообщений: 11521
select @@VERSION
7 июн 19, 15:03    [21904601]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Romanov-krd
Member

Откуда:
Сообщений: 120
Konst_One,


Microsoft SQL Server 2012 (SP4-OD)
7 июн 19, 15:07    [21904607]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Konst_One
Member

Откуда:
Сообщений: 11521
group by зачем вам?
7 июн 19, 15:12    [21904615]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Konst_One,

развлекайтесь


автор
почему то пишет ошибку - expected something between ( and month

ошибка не ms sql
7 июн 19, 15:13    [21904617]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
iap
Member

Откуда: Москва
Сообщений: 46983
Konst_One
select @@VERSION
Версия сервера не при чём. Разве можно писать GROUP BY 1 ???

А как удалось понять, что нужно?
И почему нельзя просто
SELECT [Month]=CONVERT(CHAR(6),begin_dt,112), begin_dt=MAX(begin_dt)
FROM T
GROUP BY CONVERT(CHAR(6),begin_dt,112)
ORDER BY [Month];
7 июн 19, 15:13    [21904618]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Konst_One
Member

Откуда:
Сообщений: 11521
похоже да, или mysql или вообще posgresql
7 июн 19, 15:14    [21904619]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Konst_One
похоже да, или mysql или вообще posgresql

или Teradata
7 июн 19, 15:15    [21904622]     Ответить | Цитировать Сообщить модератору
 Re: группировка по максимальному дню в каждом месяце  [new]
Konst_One
Member

Откуда:
Сообщений: 11521
это вообще страшный зверь, приходилось очень давно с ним работать
7 июн 19, 15:15    [21904623]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить