用于查找客户交互的MySQL查询

时间:2015-11-28 17:09:15

标签: mysql sql mysqli

我有一个类似于下面的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等等

正确方向的任何一点都会很棒!

1 个答案:

答案 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`