我有一个类似于下面的MySQL表:
uniqueId | cUniqueId | steps | createdDate
1 | 345 | step1 | 2015-11-29 02:10:27
2 | 347 | step2 | 2015-11-29 02:10:27
3 | 345 | step3 | 2015-11-29 02:10:27
4 | 545 | step2 | 2015-11-29 02:10:27
5 | 645 | step2 | 2015-11-29 02:10:27
6 | 785 | step3 | 2015-11-29 02:10:27
我基本上有三个步骤来填写我的应用程序,每次客户点击一行都添加到我的数据库中,客户可以随时转到任何步骤并跳过一步然后返回如果需要的话。
我试图获得有关客户如何互动的一些见解,但目前主要的是确定有多少客户首先进入每一步。
例如,如果我有一个说400的样本,数据将如下所示:
FirstStep | amount
Step1 | 200
Step2 | 100
Step3 | 100
这意味着100个用户首先进入Step2等等
正确方向的任何一点都会很棒!
答案 0 :(得分:0)
这是有效的(它定义了每个用户按日期排序的步骤)。将table
替换为您的表名:
select `table`.`steps`,count(*)
from `table`
inner join (
SELECT `cUniqueId`,min(`createdDate`) as `date` FROM `table`
group by `cUniqueId`
) as `t2` on
`table`.`cUniqueId` = `t2`.`cUniqueId` AND
`table`.`createdDate` = `t2`.`date`
group by `table`.`steps`