UPDATE user,thread SET money=0.5*money WHERE user.userid = thread.postuserid AND ((SELECT dateline FROM thread ORDER BY dateline DESC LIMIT 0,1) BETWEEN UNIX_TIMESTAMP(DATE_SUB(DATE(SYSDATE()), INTERVAL 1 MONTH)) AND UNIX_TIMESTAMP(DATE_SUB(DATE(SYSDATE()), INTERVAL 4 MONTH))) AND thread.forumid IN (56,57,60,62,67,65,70,71,73,178,75,76,77,109,189,186,81,83,88,89,74,175,181,85,74,175,79,80,165,193,172,59) AND user.membergroupids !=27 AND user.money >0;
上条语句的意义,查询在技术区发的新主题的时间,如果晚于当前时间 1 - 4 个月的,会员金币缩减 50%
这条语句能运行, 但是没有效果,问题出在这里, user.userid = thread.postuserid AND ((SELECT dateline FROM thread ORDER BY dateline DESC LIMIT 0,1) 我搞不定了,水平有限,请帮忙,这个条件是取出 dataline 最大的值参与比较运算。
UPDATE user,thread SET money=0.05*money WHERE user.userid = thread.postuserid AND ((SELECT count(threadid) FROM thread ) = 0) AND thread.forumid IN (56,57,60,62,67,65,70,71,73,178,75,76,77,109,189,186,81,83,88,89,74,175,181,85,74,175,79,80,165,193,172,59) AND user.membergroupids !=27 AND user.money >0;
第二条是从未在技术区发过主题的,金币扣 95%
这条是统计在技术区的主题为 0 个的。也是没有结果。
上条语句的意义,查询在技术区发的新主题的时间,如果晚于当前时间 1 - 4 个月的,会员金币缩减 50%
这条语句能运行, 但是没有效果,问题出在这里, user.userid = thread.postuserid AND ((SELECT dateline FROM thread ORDER BY dateline DESC LIMIT 0,1) 我搞不定了,水平有限,请帮忙,这个条件是取出 dataline 最大的值参与比较运算。
UPDATE user,thread SET money=0.05*money WHERE user.userid = thread.postuserid AND ((SELECT count(threadid) FROM thread ) = 0) AND thread.forumid IN (56,57,60,62,67,65,70,71,73,178,75,76,77,109,189,186,81,83,88,89,74,175,181,85,74,175,79,80,165,193,172,59) AND user.membergroupids !=27 AND user.money >0;
第二条是从未在技术区发过主题的,金币扣 95%
这条是统计在技术区的主题为 0 个的。也是没有结果。