2 mysql
SELECT
avg(con_hits) as avg_hits
FROM
content
WHERE
con_type = 1
AND con_posttime < $twelve_hrs_ago
AND con_refresh = 0
ORDER BY
con_posttime DESC
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
我希望它转到至少12小时前发布的第一条记录(由$twelve_hrs_ago
具有合适时间戳的变量表示),并取下列的平均值con_hits
,用于接下来的100条记录.在我的例子中,它忽略了LIMIT
,并取表中每条记录的平均值.
有没有办法绕过那个?
tro*_*skn 12
LIMIT
在AVG
计算之后应用于结果集.您可以使用子选择执行您想要的操作:
SELECT avg(con_hits) as avg_hits
FROM (
SELECT con_hits
FROM content
WHERE
con_type = 1
AND con_posttime < $twelve_hrs_ago
AND con_refresh = 0
ORDER BY con_posttime DESC
LIMIT 100
) x;
Run Code Online (Sandbox Code Playgroud)
您也可以使用数据库计算时间偏移量.$twelve_hrs_ago
以上替换为:
date_add(now(), interval -12 hour)
Run Code Online (Sandbox Code Playgroud)