JCR_SQL2 如何获得不同的聚合结果

JCR_SQL2 how to get distinct and aggregeted results

我正在尝试在 JCR_SQL2 中编写查询,但没有成功。我有一个 table 如下所示:

|property |example value| +---------------+-------------+ |user_name |John Smith | |restaurnat_name|McDonalds | |action |like | |food |big mac |

查询将是这样的: "get most liked food for user, for restaurant"

我的回复如下:

|food   |User Count|
+-------+----------+
|big mac| 20 users |
|nuggets| 19 users |

如上面 table 中那样按用户数排序

尽管如此,还有一个警告,我需要强制分页,以便我可以 return 喜欢 10 个结果并能够跳转到下一页,在那里我将获得另外 10 个结果,确保排序不受影响。

任何帮助将不胜感激

很遗憾,JCR SQL|XPath|JCR-SQL2/AQM.

中没有聚合函数

我唯一可以建议你的是:

  1. 遍历这些节点并在您的代码中进行所有计算,
  2. 或者,如果这些节点分布在存储库中,请通过 node typerestaurnat_name 查询它们,然后再次,在您的代码中进行所有计算。

我认为 JCR 不是适合此类查询的工具。它是分层存储,顶部有一些额外的功能,但不是通用数据库,而且肯定不是像您上面描述的那样针对数据挖掘查询优化的数据库。你应该为此使用其他东西。