我有一个长格式的PHP函数来循环遍历所有用户并测试他们的活动状态。它速度慢,需要多次操作。。。这个SQL操作要快得多,但现在我的计数不匹配。
我需要更新这个mySQL查询来完成1个加法和1个调整。从而模拟测试用户活动的确切动作/功能。

"SELECT DISTINCT last.user_id
FROM ss_usermeta as last
JOIN ss_usermeta as next on last.user_id = next.user_id
WHERE last.meta_key = 'last_trans_date' and last.meta_value <= CURDATE()
and next.meta_key = 'next_recurring_date' and next.meta_value + INTERVAL 9 day >= CURDATE()";

检查每个用户meta_密钥的“ll_customer_id”,并确保其不为空。
将下一个重复日期的比较器从当前日期更改为当前日期+9天。

最佳答案

您需要另一个加入:

SELECT DISTINCT last.user_id
FROM ss_usermeta as last
JOIN ss_usermeta as next
  on last.user_id = next.user_id
JOIN ss_usermeta as third
  on third.user_id = next.user_id
WHERE last.meta_key = 'last_trans_date'
  and last.meta_value <= CURDATE()
and next.meta_key = 'next_recurring_date'
  and next.meta_value + INTERVAL 9 day >= CURDATE()
and third.meta_key = 'll_customer_id'
  and third.meta_value is not null;

关于php - 为事件用户更新庞大的mySQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40617215/

10-13 02:47