Query the Records Closest to the Specified Time Each Day — From SQL to SPL #43

esProcesProc
1 min read

Problem Description & Analysis:

A table in Oracle database has a column of datetime type, corresponding to multiple pieces of data per day:

Task: Now we need to find two records every day, one closest to 8am that day and one closest to 8pm that day.

Solution:

SPL code:

A1: Query the database through JDBC.

A2: Group by date, but do not aggregate for subsequent processing of each group of data.

A3: For each group of data, calculate the number of seconds between each record in the group and 8 am on the same day, take the absolute value, and find the record with the smallest absolute value; Calculate the record with the smallest absolute value of the number of seconds between 8 pm using the same method; Finally, merge the processed results of each group. The minp function is used to calculate the minimum record that meets the criteria.


esProc SPL FREE Download — Free Trial Available, Download Now!

10
Subscribe to my newsletter

Read articles from esProc directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

esProc
esProc

esProc SPL is a JVM-based programming language designed for structured data computation, serving as both a data analysis tool and an embedded computing engine. FREE download👉🏻: https://www.esproc.com/download-esproc