【问题标题】:Realm for Android, can it do slightly complex queries like this?Realm for Android,能做这样稍微复杂的查询吗?
【发布时间】:2017-04-14 04:14:58
【问题描述】:

是否可以在 Realm for Android 中执行如下复杂查询?

从表 C 中选择 Id, max(FieldA/ FieldB)(此处以 sql 形式显示)

Table C definition:
Id          int
FieldA      int
FieldB      int

根据我在文档中阅读的内容,它似乎仅适用于简单的静态查询,例如
其中 fieldA = ‘一些静态值’。

【问题讨论】:

  • 该查询在说什么?从表人中选择...年龄或身高最大的记录?
  • 您是否要在聚合中划分两个字段?
  • @cricket_007 我正在尝试计算最大标准化值。这可以在 SQL 中完成。问题是在 Realm for Android 中进行。
  • Realm 可以做聚合...realm.io/docs/java/latest/#aggregation
  • 您可以将分割后的值存储在一个字段中,并在其他两个字段的设置器中更新它

标签: android realm


【解决方案1】:

您的问题的答案是 Realm 不是 SQL 数据库。它看起来不像那样。例如,

Select Id

...在Realm中很简单

C.getId(),或者,可能是C.id。

您的示例中唯一没有直接映射到领域功能的是max(<expression>)。 Realm 确实有一个max 函数,并且,正如@EpicPandaForce 所指出的,您可以进行任何您喜欢的计算。但是,max 函数必须应用于存储在数据库中的值,而不是表达式。

【讨论】:

    猜你喜欢
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多