我有一个看起来像一个表关系返回列第一行数据未在以下组:聚合函数由
barn
------
PK barn_id
<other columns>
stable
---------
PK stable_id
FK barn_id
stable_number
stable_contents
timestamp
所以每当我只是把一个新行具有稳定的内容改变具有新的stable_contents和当前时间戳的相应的barn_id和stable_number。
这些表格是这样设计的,所以我可以看看一个稳定的,看到它的整个历史。
我想写一个查询,会发现我所有的马厩的当前状态中的所有谷仓,所以我试试这个:
SELECT barn_id, stable_number, max(timestamp), stable_contents
FROM stable
GROUP BY barn_id, stable_number
在我的测试数据我有这样的一些行谷仓1,稳定的7
1 | 7 | 2009-12-09 10:00:00 | empty
1 | 7 | 2009-12-10 10:30:00 | show horse
如果我运行上面的SELECT
查询,我得到了谷仓1以下返回行,稳定的7:
1 | 7 | 2009-12-10 10:30:00 | empty
它获得正确的最大时间戳,只是错误的stable_contents。
任何想法?
我选择这一个,因为替代形式移植到了很好的HQL。感谢所有提交。 – TheBigS 2009-12-10 18:06:54