gpt4 book ai didi

php - 在一段时间内从数据库中提取值。

转载 作者:行者123 更新时间:2023-11-30 00:14:06 25 4
gpt4 key购买 nike

我的网络服务器中有一个 MOODLE。我想每周和每月跟踪上述资源的使用情况。使用量将基于用户的读取和写入总和。我将从 MOODLE 数据库的 mdl_stats_user_daily 表中获取数据。

我想向那些进入前 10 名的人表示感谢和 token 。我有一个现有的 php 脚本连接到数据库并执行查询来获取结果,但似乎我的查询是错误的。这是我的查询:

$query = "SELECT user.firstname, user.lastname, user.userid, stats.userid, stats.roleid, 
SUM( statsreads ) AS numreads, SUM( statswrites ) AS numwrites,
SUM( statsreads ) + SUM( statswrites ) AS totalactivity
FROM `mdl_stats_user_daily` stats, `mdl_user` user
WHERE userid IN (SELECT userid
FROM mdl_role_assignments
WHERE roleid IN (1,2,3,4))
AND user.id = stats.userid
AND stats.timeend < ".(time() - 604800)."
GROUP BY userid ORDER BY totalactivity DESC Limit 20";

你可以看到这一行:

 Where userid IN (SELECT userid 
FROM mdl_role_assignments
WHERE roleid IN (1,2,3,4))
AND user.id = stats.userid
AND stats.timeend < ".(time() - 604800)".

".(time() - 604800)" 是我用来过滤结果的行,只是获取过去一周的使用情况。 “604800”是一周或7天的秒数。但看来我错了,即使我改变数字,我的查询仍然返回相同的结果。有人可以帮助我吗?

最佳答案

尝试使用此查询:-

SELECT user.firstname, user.lastname, user.userid, stats.userid, stats.roleid, 
SUM( statsreads ) AS numreads, SUM( statswrites ) AS numwrites,
SUM( statsreads ) + SUM( statswrites ) AS totalactivity
FROM `mdl_stats_user_daily` stats, `mdl_user` user
WHERE userid IN (SELECT userid
FROM mdl_role_assignments
WHERE roleid IN (1,2,3,4))
AND user.id = stats.userid
AND stats.timeend < ADDDATE(CURDATE(), -7)
GROUP BY userid ORDER BY totalactivity DESC Limit 20"

希望这可以帮助你。

关于php - 在一段时间内从数据库中提取值。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23798974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com