如何转换下面的查询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