Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / поиск минимальной суммы в максимальной дате / 7 сообщений из 7, страница 1 из 1
23.09.2019, 11:49
    #39865504
Romanov-krd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск минимальной суммы в максимальной дате
1. Есть таблица со значениями. Необходимо выбрать максимальную дату загрузки и среди нее минимальные значения.
пишу код
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT 
  T_R1_V_RENT_ALL.DIVISION_ID as DIVISION_ID ,
  max(T_R1_V_RENT_ALL.BEGIN_DTM) as BEGIN_DTM ,
  min(coalesce(NULLIF(T_R1_V_RENT_ALL.RENT_SUM, 0),NULLIF(T_R1_V_RENT_ALL.RENT_SUM_MAX, 0),NULLIF(T_R1_V_RENT_ALL.RENT_SUM_MIN, 0))) as SUMMA   
FROM 
  ODI_STAGE.dbo.T_RENT_TURNOVER_FEE_SNST as T_R1_V_RENT_ALL  
WHERE
  (T_R1_V_RENT_ALL.CALC_TYPE='ФиксированнаяСумма') and T_R1_V_RENT_ALL.DIVISION_ID=118562
GROUP BY
  T_R1_V_RENT_ALL.DIVISION_ID



выводит
DIVISION_ID BEGIN_DTM SUMMA
118562 2019-01-24 80000.00

хотя данной дате должно соответствовать значение 2018-12-24

как это исправить?
...
Рейтинг: 0 / 0
23.09.2019, 11:56
    #39865508
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск минимальной суммы в максимальной дате
Romanov-krdхотя данной дате должно соответствовать значение 2018-12-24То есть среди всех строк с DIVISION_ID=118562, дата 2018-12-24 является максимальной, а 2019-01-24 там вообще не наблюдается?

Вы сделайте запрос без группировки и min/max, и посмотрите, соответствуют ли полученные значения данным.
Вряд ли сервер ошибся с группировкой.
...
Рейтинг: 0 / 0
23.09.2019, 12:16
    #39865531
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск минимальной суммы в максимальной дате
Код: sql
1.
2.
3.
4.
SELECT TOP(1) WITH TIES DIVISION_ID, BEGIN_DTM, COALESCE(NULLIF(T_R1_V_RENT_ALL.RENT_SUM, 0),NULLIF(T_R1_V_RENT_ALL.RENT_SUM_MAX, 0),NULLIF(T_R1_V_RENT_ALL.RENT_SUM_MIN, 0)) SUMMA   
FROM ODI_STAGE.dbo.T_RENT_TURNOVER_FEE_SNST
WHERE CALC_TYPE='ФиксированнаяСумма' AND T_R1_V_RENT_ALL.DIVISION_ID=118562
ORDER BY BEGIN_DTM DESC, COALESCE(NULLIF(T_R1_V_RENT_ALL.RENT_SUM, 0),NULLIF(T_R1_V_RENT_ALL.RENT_SUM_MAX, 0),NULLIF(T_R1_V_RENT_ALL.RENT_SUM_MIN, 0));
...
Рейтинг: 0 / 0
23.09.2019, 12:19
    #39865533
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск минимальной суммы в максимальной дате
Поправил слегка
Код: sql
1.
2.
3.
4.
SELECT TOP(1) WITH TIES DIVISION_ID, BEGIN_DTM, COALESCE(NULLIF(RENT_SUM, 0),NULLIF(RENT_SUM_MAX, 0),NULLIF(RENT_SUM_MIN, 0)) SUMMA   
FROM ODI_STAGE.dbo.T_RENT_TURNOVER_FEE_SNST
WHERE CALC_TYPE='ФиксированнаяСумма' AND DIVISION_ID=118562
ORDER BY BEGIN_DTM DESC, COALESCE(NULLIF(RENT_SUM, 0),NULLIF(RENT_SUM_MAX, 0),NULLIF(RENT_SUM_MIN, 0));
...
Рейтинг: 0 / 0
23.09.2019, 12:27
    #39865541
Romanov-krd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск минимальной суммы в максимальной дате
alexeyvg,

дата то есть. мне просто вывести из всего нужно

80000.00- 2018-12-24 00:00:00.0000000
...
Рейтинг: 0 / 0
23.09.2019, 16:17
    #39865758
Interloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск минимальной суммы в максимальной дате
Romanov-krdalexeyvg,

дата то есть. мне просто вывести из всего нужно

80000.00- 2018-12-24 00:00:00.0000000
> Необходимо выбрать максимальную дату загрузки и среди нее минимальные значения.

Максимальная дата на картинке 2019-12-24. Почему нужно вывести 2018-12-24?
...
Рейтинг: 0 / 0
24.09.2019, 15:38
    #39866429
Papadopulos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск минимальной суммы в максимальной дате
Romanov-krd,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
  T_R1_V_RENT_ALL.DIVISION_ID as DIVISION_ID ,
  T_R1_V_RENT_ALL.BEGIN_DTM as BEGIN_DTM ,
  min(coalesce(NULLIF(T_R1_V_RENT_ALL.RENT_SUM, 0),NULLIF(T_R1_V_RENT_ALL.RENT_SUM_MAX, 0),NULLIF(T_R1_V_RENT_ALL.RENT_SUM_MIN, 0))) as SUMMA   
FROM 
  ODI_STAGE.dbo.T_RENT_TURNOVER_FEE_SNST as T_R1_V_RENT_ALL  
WHERE
  (T_R1_V_RENT_ALL.CALC_TYPE='ФиксированнаяСумма') and T_R1_V_RENT_ALL.DIVISION_ID=118562
GROUP BY
  T_R1_V_RENT_ALL.DIVISION_ID, T_R1_V_RENT_ALL.BEGIN_DTM, 
HAVING 
  T_R1_V_RENT_ALL.BEGIN_DTM = (select MAX(T_R1_V_RENT_ALL.BEGIN_DTM) from ODI_STAGE.dbo.T_RENT_TURNOVER_FEE_SNST)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / поиск минимальной суммы в максимальной дате / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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