【发布时间】:2010-10-30 11:35:33
【问题描述】:
我有一个 MySQL 表,其中包含价格请求,它具有日期、第一、最后和 product_id 字段。产品品牌可以从product_id的产品表中找到。
给定一个日期范围,他们想知道该日期范围内每一天的用户和品牌请求总数,以及该日期范围内的总数。这是棘手的部分,如果同一个人在一天内多次提出请求,那么它只计为 1 人。但是,如果一个人在 1 天内请求 2 个不同的品牌,则每个品牌当天都会获得 1 个。但如果他们在一天内请求多个品牌,则该品牌当天只会被计为 1。
例如,假设在给定日期,John Doe 提出了 3 个价格请求,分别是 Burberry 产品和 2 个施华洛世奇产品。人只算 1 个,巴宝莉 1 个,施华洛世奇 1 个。但是如果另一个人请求了 burberry,那么当天就会有 2 个 burberry 和 2 个人。
我希望从那时起。无论如何,最好的方法是什么?我正在使用 PHP4 和 MySQL4
谢谢!
【问题讨论】:
-
谁添加了这个作为“作业”,这不是作业!这是我正在为我工作的公司开展的一个实际项目。
-
为有问题的表创建语句和一个小样本数据集总是有助于回答这类问题。
-
查找 COUNT(DISTINCT) 和 GROUP BY。