我正在为俱乐部写一个客户忠诚度软件,每天上午10点到早上6点开放.数据存储在MYSQL中,我想计算客户当月的总访问量.
我正在使用计数(不同(日期)),但如果玩家是在下午5点来到凌晨3点,并且在晚上10点和凌晨2点进行了2笔交易.它将被计为2次访问,而不是1次.
我有一个包含下列列的事务表:
ps:括号()中的任何内容都不是真实数据.我每天约有2000笔交易.我也能够改变表格结构
Transaction_ID | Date(not Date/Time) | Customer_ID | Item | price | timestamp 1 | 11-06-2015 (6pm) | Jane | drink| 2.00 | 156165166 2 | 09-06-2015 (2pm) | Jane | drink| 2.00 | 1433858493 3 | 10-06-2015 (3am) | Jane | drink| 2.00 | 1433906073 4 | 06-06-2015 (6pm) | Jane | drink| 2.00 | 156165166
当前代码返回{4,Jane}.我正在寻找的答案是{3,Jane}.交易{2,3}应被视为一次访问
SELECT count(distinct(Date)) as visit, Customer_ID
FROM transaction
GROUP BY Customer_ID
WHERE timestamp BETWEEN $timestamp1 AND $timestamp2
Run Code Online (Sandbox Code Playgroud)
$timestamp1 = strtotime("first …