Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为活动用户更新庞大的mySQL查询_Php_Mysql_Sql_Wordpress - Fatal编程技术网

Php 为活动用户更新庞大的mySQL查询

Php 为活动用户更新庞大的mySQL查询,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,我有一个长格式的PHP函数来循环我的所有用户并测试他们的活动状态。速度很慢,需要多次操作。。。这个SQL操作要快得多,但现在我的计数彼此不匹配 我需要更新这个mySQL查询,以完成添加和调整的功能。因此,它模仿了测试用户活动的确切动作/功能 "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_ke

我有一个长格式的PHP函数来循环我的所有用户并测试他们的活动状态。速度很慢,需要多次操作。。。这个SQL操作要快得多,但现在我的计数彼此不匹配

我需要更新这个mySQL查询,以完成添加和调整的功能。因此,它模仿了测试用户活动的确切动作/功能

"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()";
“选择不同的last.user\u id
从ss_usermeta作为最后一个
将ss_usermeta作为last.user_id=next.user_id上的下一个加入
其中last.meta_key='last_trans_date'和last.meta_value=CURDATE();
  • 检查每个用户meta_键的“ll_customer_id”,确保其不为空
  • 将下一个\u循环\u日期的比较器从当前日期更改为当前日期+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;
选择不同的last.user\u id
从ss_usermeta作为最后一个
加入ss_usermeta作为下一个
on last.user\u id=next.user\u id
以第三名的身份加入ss_usermeta
在third.user\u id=next.user\u id上
其中last.meta_key='last_trans_date'
和last.meta_value=CURDATE()
和third.meta\u key='ll\u customer\u id'
第三,meta_值不为空;

不确定我自己是否有进步。。。但是我已经更新了它来做+9天的事情。。。这9天应该添加到“下一个定期日期”的值中,``从ss_usermeta中选择不同的last.user\u id作为last加入ss_usermeta作为last.user\u id=next.user\u id,其中last.meta\u key='last\u trans\u date'和last.meta\u value=CURDATE()“非常感谢您,计数减少了10,但这大大提高了我函数的准确性。我将继续重新评估如何处理用户的活动状态。