В MySQL 8.x вы можете использовать оконную функцию ROW_NUMBER()
. Например:
with x as (
select
location, value, datetime,
row_number() over (partition by location order by datetime desc) as rn
from my_table
where datetime < '2012-05-01' -- cutoff date
)
select * from x where rn = 1
Тонкий драйвер JDBC является 100%-й чистой реализацией Java, которая не может собрать необходимую информацию от операционной системы.
Драйвер JDBC OCI может сделать это! Использовать jdbc:oracle:oci8:/@MYDBSID
, это потребует, чтобы драйвер Oracle был установлен на той машине, не проблеме, если это - сервер (и быстрее для начальной загрузки и поддерживает намного больше функций, чем тонкий драйвер),
jdbc драйвер, который поставляет оракул, НЕ имеет возможности сбора имени пользователя ОС и пароля от URL, что Вы обеспечиваете его. Предположим, существует третья сторона поставщики драйвера JDBC для Oracle, один из них мог бы обеспечить функциональность, которую Вы просите. необходимо погуглить вокруг.
Благодаря тем, которые ответили. Мы пошли с драйвером OCI.
Я действительно находил, что документация предположила, что Oracle 11 г действительно поддерживает аутентификацию пользователя ОС через тонкий драйвер хотя:
У меня нет 11-граммовой установки для тестирования этого на, таким образом, я не могу быть уверен, что это работает.
При доступе к Oracle от J2EE appserver Вы могли бы достичь подобной цели при помощи JNDI для получения источника данных.
Тонкий драйвер 11g может подключаться с использованием аутентификации Kerberos.