在最近的日期从sqlite获取记录

时间:2016-03-03 05:28:57

标签: sqlite timestamp

我有一个使用CoreData的Objective-C应用程序,而后备存储是一个sqlite数据库。

我正在尝试根据MediaDate为FMDatabase制定查询以访问最新记录。

以下是我要查询的表格,名为MediaAccy,其MediaDate字段的类型为timestamp(如图所示)

enter image description here

这是一个简单地对MediaDate字段进行ORDERS的查询。请注意ZMEDIADATE字段有2个相同的timestamp值,并注意guid的顺序。 根据此查询,最近的记录有guid 6BBF7...

enter image description here

现在,请注意这个查询,我从上面给定的一组记录中请求带有MAX日期的记录,并注意结果是guid 2D8AC...,根据前面的查询,它命令相同按日期排列的数据是第二次到最近的,而不是最近的记录。

真正的最新记录请站起来!

enter image description here

根据sqlite的max()函数文档......

  

max()聚合函数返回组中所有值的最大值。最大值是在同一列的ORDER BY中最后返回的值

但根据我的结果,事实并非如此。

1 个答案:

答案 0 :(得分:1)

经过一些研究,似乎时间戳只是第二个精度,ORDER BY子句文档说......

  

返回所有ORDER BY表达式求值为相等值的两行的顺序是未定义的。

所以我想我将不得不重新思考这一切。