我基本上是在尝试根据流量来源对流量进行分组
假设该表具有以下列
注册_ID | 最后修改 | 推荐人 1 | 2012-07-01 15:00:00 | http://www.facebook.com/l.php?xyz 2 | 2012-07-01 16:00:00 | http://www.facebook.com/l.php?abc
现在推荐人是不同的 - 所以即使我按推荐人分组 - 它不会说 2 所以这是我使用的查询
select count(*) as 'Enrollments',date_format(e.last_modified,'%d/%m/%y') as 'Date', if(LOCATE('facebook', referrer)>0,'facebook',referrer ) 作为“推荐人” 从入学 e 其中 e.last_modified >='2012-07-01 00:00:00' 按日期格式分组(e.last_modified,'%d/%m/%y'),3
这工作正常。但显然我会有不止一个推荐人。所以我想到了使用case语句
选择 count(*) 作为 'Enrollments',date_format(e.last_modified,'%d/%m/%y') 作为 'Date', 案例推荐人 当 LOCATE('facebook', referrer)>0 然后 'facebook' 当 LOCATE('google', referrer)>0 然后 'google' 其他推荐人 以“推荐人”结尾 从入学 e 其中 e.last_modified >='2012-07-01 00:00:00' 按日期格式分组(e.last_modified,'%d/%m/%y'),3
这不能按预期工作。
对于第一个和第二个查询 - 我创建了一个 sql fiddle
首先 - http://sqlfiddle.com/#!2/70f6b/2
第二 - http://sqlfiddle.com/#!2/ad890/3
如果有人可以快速浏览一下,我将不胜感激
谢谢你的时间