У меня есть стол с колонками id
, seq_id
, tran_date
.Запрос MySQL на Hibernate Criteria
Образец данных:
id | seq_id | tran_date ------ | ------ -------- 1 | 1 | 2016-11-01 1 | 2 | 2016-11-01 1 | 1 | 2016-11-02 1 | 2 | 2016-11-02 1 | 1 | 2016-11-12 1 | 2 | 2016-11-12
мой ожидаемый результат
1 | 2 | 2016-11-02
Состояние:
tran_date
должно быть меньше, чем сегодня (2016-11-08) и макс (seq_id).
Как реализовать запрос на спящий режим, используя критерии api, указанные выше?
в режиме реального времени MySQL запросов, используя теперь, как показано ниже, нужно преобразовать то же самое в Hibernate Criteria:
SELECT *
FROM testtable tt
WHERE CONCAT(DATE_FORMAT(tt.tran_date, '%Y%m%d'), LPAD(tt.seq_id , 2, '0')) =
(SELECT MAX(CONCAT(DATE_FORMAT(mtv1.tran_date, '%Y%m%d'), LPAD(mtv1.seq_id , 2, '0')))
FROM testtable tt1 WHERE tt1.`Label_Id` = tt1.`id`
AND mtv1.tran_date<= CURRENT_DATE() GROUP BY mtv.`id`)
Существует две колонки с max (seq_id). Кого вы хотите получить? С max tran_date? –
Хорошо, что я понял ваш sql и увидел таблицу –