我是一个相对的新手,我一直在与此搏斗太久 - 所以请任何人都可以帮忙!mysql报告每日查询按类型过滤,包括丢失的分组行
我有一个表接受不同类型开发的查询(dev_enquiry),我正在创建一个动态图表来显示每个开发每天有多少个查询。我加入了包含日期列的日历表,以便在没有查询时可以得到0个值。
此SQL给我我想要的东西,但其所有的发展
SELECT calendar.datefield AS DATE, COUNT(de_id) AS enquiries
FROM `calendar`
LEFT JOIN dev_enquiry ON DATE(dev_enquiry.de_date_created) = calendar.datefield)
WHERE calendar.datefield BETWEEN (
SELECT MIN(DATE(de_date_created))
FROM dev_enquiry
)
AND (SELECT MAX(DATE(de_date_created)) FROM dev_enquiry)
GROUP BY DATE
ORDER BY DATE DESC
2012-11-08 3
2012-11-07 0
2012-11-06 2
2012-11-05 1
2012-11-04 3
我想式的发展,以筛选出的结果,但仍保留空值时,有上没有查询那个特定的发展日。
以下过滤器的结果,但并没有给我的空值:
SELECT cal.datefield AS DATE, COUNT(t.de_id) AS enquiries
FROM (
SELECT * FROM dev_enquiry as d LEFT JOIN calendar as c ON (DATE(d.de_date_created) = c.datefield)
WHERE d.de_dev_name = 'Green') as t
LEFT JOIN calendar as cal ON (cal.datefield = DATE(t.de_date_created))
WHERE (cal.datefield BETWEEN (SELECT MIN(DATE(t.de_date_created))
FROM dev_enquiry) AND (SELECT MAX(DATE(de_date_created)) FROM dev_enquiry))
GROUP BY DATE ORDER BY DATE DESC
2012-11-08 1
2012-11-06 2
2012-11-05 1
2012-11-04 1
结果2012-11-07在这里失踪
不错的第一个问题。欢迎来到堆栈溢出! –