sql - 选择所有值id' s并计算它们在上个月出现的时间

时间:2014-08-07 12:36:42

标签: mysql sql

SELECT i.name, x.total FROM Item i, 
(SELECT Item_id, COUNT(Item_id) as total FROM Tracking 
WHERE date > DATE_SUB(NOW(), INTERVAL 1 MONTH) GROUP BY Item_id)x 
WHERE i.id = x.Item_id

我想要的是计算上个月资源的使用次数 例子 - (第1,0项),          (第2,4项),          (第3项,第2项) 我得到的只是具有值的项目,因此项目1将不显示以及上个月没有出现的任何其他项目

2 个答案:

答案 0 :(得分:1)

如果您想要所有项目,无论它们是否有任何外观,请使用条件聚合而不是where子句:

SELECT Item_id,
       SUM(date > DATE_SUB(NOW(), INTERVAL 1 MONTH)) as total
FROM Tracking 
GROUP BY Item_id;

答案 1 :(得分:0)

SELECT     i.name, x.total 
FROM       Item i
LEFT JOIN  (SELECT   Item_id, COUNT(Item_id) as total 
            FROM     Tracking 
            WHERE    date > DATE_SUB(NOW(), INTERVAL 1 MONTH) 
            GROUP BY Item_id) x ON i.id = x.Item_id