Для меня я просто добавил xml-код в файле POM.xml. И после того, как я dit ** щелкните правой кнопкой мыши в проекте -> Maven -> Update Project, и я проверил Force Update Snapshots / Releases ** и все, что сработало
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/jstl/jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Попробуйте выполнить подзапрос:
select pt.*,
(select qes.date
from quarter_end_series qes
where qes.date <= pt.date
order by qes.date desc
) as quarter_end_date
from public_time pt;
Включить индекс на quarter_end_series(date)
.
Это экономит сортировку на большом количестве данных - что должно сделать это более производительным.
Я думаю, ваши кварталы установлены на каждый год. Например:
1995-12-31
1996-03-31
1996-06-30
1996-09-31
1996-12-31
.... and so on
Если это так, просто найдите ближайшую дату из фиксированных квартальных дат.
Если quarter_end_series
не совпадают даты для каждого года. Вы можете попробовать подзапрос вместо соединения. Как ниже:
SELECT DISTINCT ON ("date")
"date", (SELECT r.public_date FROM public_time r ORDER BY abs(date_diff(x."date",r.public_date)) ASC limit 1) as public_date
FROM quarter_end_series as x
where x.date >= '1995-12-31 00:00:00'
ORDER BY x."date";