如何轉換下面的查詢JPA查詢:JPA:轉換SQL查詢JPA查詢
select * from (select * from t1 where id=14 order by timestamp desc) as h group by hnumber order by timestamp desc limit 0, 15
我已經嘗試過做類似下面但是語法錯誤而失敗。
select m from (select n from t1 n where n.id=:id order by timestamp desc) as m group by hnumber order by timestamp desc limit 0, 15
請更正我,基本上我需要按時間戳的降序獲取不同的記錄。任何幫助表示讚賞。
更新: 在t1表的列是:
seq
id
message
timestamp
hnumber
基本上我需要獲得不同的行爲一個ID(ID是如用戶),並hnumber(可以是多個)中的遞減順序時間戳。在id和hnumber中,時間戳應該更大。
請注意:插入到t1表的順序可能不是按照時間戳的順序。每個ID可以有不同的消息。
更新2:
下面是一個例子:
Seq id message timestamp hnumber
1001 14 xyz1 1394607463000 0429c3866c19981fc276855ff3cdaf100e0c9fdb
1002 14 xyz2 1394608378000 0429c3866c19981fc276855ff3cdaf100e0c9fdb
1003 14 xyz1 1394453678000 0429c3866c19981fc276855ff3cdaf100e0c9fdb
1004 14 xyz2 1394608520000 0429c3866c19981fc276855ff3cdaf100e0c9fdb
1005 14 xyz9 1394612791000 369d7cf7bd90fac78ef635b188e2a9952d77a8d1
1006 14 xyz7 1394608513793 0429c3866c19981fc276855ff3cdaf100e0c9fdb
1008 14 xyz6 1394608513793 0429c3866c19981fc276855ff3cdaf100e0c9fdb
1009 14 xyz3 1394622221000 369d7cf7bd90fac78ef635b188e2a9952d77a8d1
1010 14 xyz4 1394608513793 369d7cf7bd90fac78ef635b188e2a9952d77a8d1
輸出我期待:
Seq id message timestamp hnumber
1009 14 xyz3 1394622221000 369d7cf7bd90fac78ef635b188e2a9952d77a8d1
1004 14 xyz2 1394608520000 0429c3866c19981fc276855ff3cdaf100e0c9fdb
請您可以顯示錶格t1中的列和數據示例以及您期望返回結果的內容?你確定你需要內部選擇的「排序」嗎?當然,它不會有任何影響,因爲你沒有對內部選擇應用限制。當然,只有外部選擇的順序和限制纔會影響結果? – Hedley
@Hedley我更新了我的帖子。請檢查。 – User12111111
感謝您的信息。請你可以給出一個(說)10行數據的樣本,然後顯示你期望得到的結果作爲查詢的結果,以便我能理解你試圖實現的排序? – Hedley