mysql表的统计聚合

时间:2015-11-28 19:15:30

标签: mysql aggregate-functions olap

在我的应用程序中,我有一个表products_downloads,我在其中存储有关每个产品下载的信息。

这是该表的结构:

enter image description here

在我的应用程序中,我有很多产品TOPs,其中我显示按总下载量排序的最新10个产品(所有时间),另一个按上周下载计数排序(sql查询执行时间减去7天)

例如,在我的主页上,我需要在我的网站上显示所有产品的TOP产品下载。在某些产品类别中,我需要显示产品下载TOP,其中包含仅与此类别相关的产品以及所有后代类别。

我觉得我需要执行一些定期数据聚合(超过products_downloads表)但我现在还不明白这个任务的正确解决方案是什么..也许是OLAP?请指教。

1 个答案:

答案 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(*)条件。