在我的应用程序中,我有一个表products_downloads
,我在其中存储有关每个产品下载的信息。
这是该表的结构:
在我的应用程序中,我有很多产品TOPs,其中我显示按总下载量排序的最新10个产品(所有时间),另一个按上周下载计数排序(sql查询执行时间减去7天)
例如,在我的主页上,我需要在我的网站上显示所有产品的TOP产品下载。在某些产品类别中,我需要显示产品下载TOP,其中包含仅与此类别相关的产品以及所有后代类别。
我觉得我需要执行一些定期数据聚合(超过products_downloads
表)但我现在还不明白这个任务的正确解决方案是什么..也许是OLAP?请指教。
答案 0 :(得分:1)
这种事情使用以下基本模式
defaultConfig {
multiDexEnabled true
}
您想要的聚合很简单: SELECT COUNT(*) hit_count,
product_id
FROM products_downloads
WHERE whatever-condition
GROUP BY product_id
ORDER BY COUNT(*) DESC
LIMIT 10
。诀窍是选择合适的COUNT(*)
条件。