在app引擎数据存储区列中查找最大值

时间:2014-08-09 12:34:17

标签: java google-app-engine google-cloud-datastore max

我在Google应用引擎数据存储区中有一个表ItemData,其中的列如下所示。

  

item_no,letter,f_no,s_no,t_no

我需要在item_no列中获取最大值。

我怎样才能实现这个目标?

3 个答案:

答案 0 :(得分:5)

有一个非常简单的解决方案:

  1. 确保该属性已编入索引。
  2. 对该媒体资源运行查询。设置排序顺序DESCENDING并设置对返回到1的结果数量的限制。
  3. 运行此查询时,您将获得一个具有最大值的实体。

答案 1 :(得分:1)

这是我的解决方案。

PersistenceManager pm = PMF.get().getPersistenceManager();

Query q = pm.newQuery("SELECT item_no FROM " + ItemData.class.getName()
                    + " ORDER BY item_no DESC RANGE 0,1");

答案 2 :(得分:-1)

我认为在python或java中使用GQL查询直接从数据存储区获取最大值是不可能的。为此,您可以将旧的最大值与潜在的新值进行比较,并将结果保存在表格中或使用 Google Cloud SQL 并使用SQL语句SELECT MAX(article) AS article FROM shop;