如何查询SQL数据库在两个日期之间购买商品的次数?

时间:2012-04-10 17:18:17

标签: mysql database

对于数据库而言,我是初学者,这个问题让我的大脑融化。我有一个数据库,你可以想象标准列:Id,价格,描述等。我应该如何组织数据库,以便可以查询数据库在2012-01-08和2012-之间购买了多少次物品? 03-23?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

如果您有一个名为dt的日期列,则可以使用

SELECT COUNT(Id) FROM your_table
WHERE dt BETWEEN 2012-01-08 AND 2012-03-23
  AND Id = your_item_id

答案 2 :(得分:1)

select id, count(*)
from mytable
where date between '2012-01-01' and '2012-02-02'
group by id

这将为您提供购买每件商品的次数。您分组的字段将取决于您希望如何拆分结果,使用ID或唯一名称将起作用,具体取决于您要对结果执行的操作。

之间的条款是包容性的btw

编辑:评论的好点!可能应该说&#34;使用适当的字段进行分组,例如项目的名称或ID。&#34;在我们的一些系统中,描述和名称可互换使用:)