Мне нужно собрать набор данных, выбрав MAX (Date) и SECONDMAX (DATE) в одном результирующем наборе.Выбор второй максимальной даты - несколько записей
Источник данных, однако, содержит несколько записей, которые будут иметь несколько различных дат MAX/SECONDMAX.
Каждая запись имеет уникальный код сущности, как я могу определить, какой набор дат принадлежит тому объекту.
я написал ниже запрос, однако я получаю сообщение о том,
«Код ошибки:. 1111. Неправильное использование функции группы
SELECT
entity_code 'Entity Code',
(SELECT MAX(visit_date)
FROM z_dev.entities_visited A
WHERE visit_date < (SELECT MAX(visit_date)
FROM z_dev.entities_visited D
WHERE D.entity_code = A.entity_code) AND
C.entity_code = A.entity_code),
(SELECT MAX(visit_date)
FROM z_dev.entities_visited B
WHERE visit_date = MAX(visit_date) AND C.entity_code = B.entity_code),
cycle_end_date
FROM z_dev.entities_visited C
GROUP BY entity_code;
SAMPLE DATA
entity_code | visit_date | cycle_end_date
------------+------------+---------------
108792 |2016-12-07 |2016-12-11
108793 |2016-12-08 |2016-12-11
108795 |2016-12-06 |2016-12-11
108796 |2016-12-05 |2016-12-11
108795 |2016-12-13 |2016-12-18
108792 |2016-12-14 |2016-12-18
108793 |2016-12-14 |2016-12-18
108796 |2016-12-16 |2016-12-18
дают нам некоторые данные примера http://sqlfiddle.com/ –
См http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for -what-seem-to-me-to-be-a-very-simple-sql-query – Strawberry