我有两个不同的表trackinge和链接
Trackingevent看起来像
eventName|eventStamp
SHARE_FACEBOOK|2011-01-20 14:05:40
SHARE_TWEET|2011-01-20 14:47:57
SHARE_FLICKR|2011-01-20 15:08:58
SHARE_STATION_LOGIN|2011-01-20 15:09:09
EMAIL_SHARE|2011-01-20 15:10:13
CONTEST_ENTRY:BLAH DATA|2011-01-20 15:10:13
CONTEST_ENTRY:BLAH DATA|2011-01-20 15:10:13
和链接看起来像
id|emailSub
6|1
7|0
8|1
9|0
我需要做的是我需要计算所有SHARE_FACEBOOK 和所有SHARE_TWEET 和所有SHARE_FLICKR 以及所有SHARE_STATION_LOGIN 以及所有COPNTEST_ENTRIES (没有其他数据后的:) 和EMAIL_SHARE 并以某种方式将那些与emailSub的数量相结合(等于1) 和数量。
所以我得到一个类似于
的返回数组EMAIL_SHARE 77
SHARE_FLICKR 9
SHARE_FACEBOOK 105
SHARE_STATION_LOGIN 223
SHARE_TWEET 18
# of ID's
# of emailsub=1
CONTEST_ENTERIES 550
我可以使用它的第一部分
SELECT eventName,COUNT(*)FROM trackingevent
GROUP BY eventName
但我很困惑如何获得#of emailsubs = 1的链接ID和CONTEST_ENTRY的数量:BLAH DATA(blah数据更改)。
我是否必须执行三种不同的SQL查询并合并数据?或者我可以以某种方式将它们组合成一个或?
答案 0 :(得分:0)
这应该使用前缀
为您提供每种类型的计数SELECT LEFT(eventName,INSTR(CONCAT(eventName,':'),':')) as prefix, count(*)
FROM trackingevent
GROUP BY LEFT(eventName,INSTR(CONCAT(eventName,':'),':'))
如果这不是你要求的话,你将不得不回答评论中的问题