我有一個表id
,seq_id
,tran_date
。MySQL查詢到休眠標準
樣本數據:
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月8日)和max (seq_id)記錄應該列出。
如何使用標準api實現Hibernate查詢以上?
實時現在使用MySQL查詢是如下,需要將其轉換成休眠標準:
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)。你想要哪一個?最大tran_date? –
好吧,我意識到你的SQL,看到 –