sql

SELECT tt.visitor_id, tt.visitor_name, tt.marking_time,tt.job_id, tt.last_service_job_id, sessions,
COUNT(*),
SUM(IF (t2.end_time >= NOW() AND t2.start_time <= NOW() AND t2.operate_time > tt.marking_time, 1, 0)) allAfterServ,
SUM(IF (t2.end_time >= NOW() AND t2.start_time <= NOW() AND t2.operate_time > tt.marking_time AND t2.insured_identity = 1, 1, 0)) forSelf,
SUM(IF (t2.end_time >= NOW() AND t2.start_time <= NOW() AND t2.operate_time > tt.marking_time AND t2.insured_identity IN (2, 3, 4), 1, 0)) forFamily
FROM (
SELECT * FROM interested_visitor t
WHERE EXISTS (SELECT id FROM bd_visitor_info t1 WHERE t1.visitor_id = t.visitor_id AND t1.end_time >= NOW() AND t1.start_time <= NOW() AND t1.operate_time > t.marking_time)
ORDER BY t.marking_time DESC
LIMIT 0, 15
) tt, bd_visitor_info t2
WHERE tt.visitor_id = t2.visitor_id
GROUP BY tt.visitor_id, tt.visitor_name, tt.marking_time,tt.job_id, tt.last_service_job_id, sessions

 

EXPLAIN
SELECT tt.visitor_id, tt.visitor_name, tt.marking_time,tt.nickname, u2.nickname, sessions,
COUNT(*),
SUM(IF (t2.end_time >= NOW() AND t2.start_time <= NOW() AND t2.operate_time > tt.marking_time, 1, 0)) allAfterServ,
SUM(IF (t2.end_time >= NOW() AND t2.start_time <= NOW() AND t2.operate_time > tt.marking_time AND t2.insured_identity = 1, 1, 0)) forSelf,
SUM(IF (t2.end_time >= NOW() AND t2.start_time <= NOW() AND t2.operate_time > tt.marking_time AND t2.insured_identity IN (2, 3, 4), 1, 0)) forFamily
FROM (
SELECT t.*, u1.nickname FROM interested_visitor t LEFT JOIN USER u1 ON t.job_id = u1.jobId
WHERE u1.nickname LIKE '%钟%'

AND EXISTS (SELECT id FROM bd_visitor_info t1 WHERE t1.visitor_id = t.visitor_id AND t1.end_time >= NOW() AND t1.start_time <= NOW() AND t1.operate_time > t.marking_time)
ORDER BY t.marking_time DESC
-- limit 0, 15
) tt, bd_visitor_info t2, USER u2
WHERE tt.visitor_id = t2.visitor_id AND tt.job_id=u2.jobId
GROUP BY tt.visitor_id, tt.visitor_name, tt.marking_time,tt.nickname, u2.nickname, sessions

转载于:https://www.cnblogs.com/zhongchang/p/9058488.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值