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