当谈到数据库时,我是一个初学者,这个问题让我的大脑融化了。我有一个数据库,其中包含您可以想象的标准列:ID、价格、描述等。我应该如何组织数据库,以便可以查询数据库在 2012 年 1 月 8 日到 2012 年之间购买了多少次物品- 03-23?
问问题
946 次
3 回答
2
同意其他答案。
SELECT itemcode, count(itemcode) 'times purchased', sum(quantity) 'amount purchased'
FROM `temp_trans`
WHERE `trans_date` >= '2012-01-08' AND `trans_date` <= '2012-03-23'
GROUP BY itemcode
这是一个活生生的例子:http ://sqlfiddle.com/#!2/13def/1
于 2012-04-10T17:41:36.240 回答
1
如果您有一个日期列,dt
您可以使用
SELECT COUNT(Id) FROM your_table
WHERE dt BETWEEN 2012-01-08 AND 2012-03-23
AND Id = your_item_id
于 2012-04-10T17:22:04.867 回答
1
select id, count(*)
from mytable
where date between '2012-01-01' and '2012-02-02'
group by id
这为您提供了每件商品的购买次数。您分组的字段将取决于您希望如何拆分结果,使用 id 或唯一名称将取决于您要对结果执行的操作。
之间的子句是包容的顺便说一句
编辑:评论的好点!可能应该说“使用适当的字段进行分组,例如项目的名称或 ID”。在我们的某些系统中,描述和名称可以互换使用 :)
于 2012-04-10T17:25:19.060 回答