class LooperThread extends Thread {
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler() {
public void handleMessage(Message msg) {
// process incoming messages here
}
};
Looper.loop();
}
}
我正在尝试创建一个查询,以查找访问者visitor --- timestamp
abc --- 2018-02-03 03:24:26
abc --- 2018-02-03 02:20:20
abc --- 2018-02-01 15:10:26
abc --- 2018-01-31 18:24:26
abc --- 2018-01-30 12:20:20
abc --- 2018-01-26 10:10:26
def --- 2018-02-03 03:24:26
def --- 2018-01-30 12:20:20
def --- 2018-01-26 10:10:26
,abc
是否忠诚。
我虽然有一个14天的固定时间表。问题是访问者登录的次数。def
在这14天的时间内在5个独立日期内进行了访问。
另一方面,abc
在3个独特的日子里进行了访问。
我想要的是过滤,让'比如,在这14天的时间内,哪位访问者至少忠诚度为30%。在此示例中,def
是,abc
不是。
查询问题:
def
所有访问,包括每个访客每天多次访问sums
答案 0 :(得分:1)
您正在寻找count(distinct)
。要只获得“忠诚”的访问者,您可以使用HAVING
条款:
SELECT visitor,
COUNT(DISTINCT Date(timestamp)) AS days_last_two_weeks
FROM behaviour
WHERE timestamp >= Curdate() - INTERVAL 14 day
GROUP BY visitor
HAVING days_last_two_weeks >= 0.3 * 14
ORDER BY last_twoweeks DESC;