gpt4 book ai didi

mysql 获取两个unix时间戳之间的数据

转载 作者:行者123 更新时间:2023-11-29 13:56:22 26 4
gpt4 key购买 nike

我想使用以下带有 Wilson Score Confidence 的查询(取自 how to not sort by average rating)根据用户搜索后过去 24 小时内的投票来计算相关内容。我在字段中存储了 unix 时间戳,但它不是 datetime 类型。

现在的查询是:

 SELECT p.id, p.post, p.upvotes, p.downvotes, ((upvotes + 1.9208) / (upvotes + downvotes) - 
1.96 * SQRT((upvotes * downvotes) / (upvotes + downvotes) + 0.9604) /
(upvotes + downvotes)) / (1 + 3.8416 / (upvotes + downvotes))
AS ci_lower_bound FROM posts p WHERE upvotes + downvotes > 0
ORDER BY ci_lower_bound DESC;

我需要获取过去 24 小时内发布的热门内容。我知道我需要使用 BETWEEN 添加一个额外的 WHERE 条件,但不确定如何?

请帮忙。

更新根据下面的答案和一些调整,我做了这样的事情:

 SELECT p.id, p.post, p.upvotes, p.downvotes, ((upvotes + 1.9208) / (upvotes + downvotes) - 1.96 * SQRT((upvotes * downvotes)
/ (upvotes + downvotes) + 0.9604) / (upvotes + downvotes))
/ (1 + 3.8416 / (upvotes + downvotes)) AS ci_lower_bound
FROM posts p WHERE upvotes + downvotes > 0
AND p.unix_timestamp BETWEEN 1363023402 AND 1363109802 ORDER BY ci_lower_bound DESC

第一个值是通过从当前时间戳中减去 86400 秒(即 24 小时)计算得出的结果。如果您认为它还可以改进,请建议我。

最佳答案

SELECT  *, complex_formula
FROM posts
WHERE upvotes + downvotes > 0
AND ts BETWEEN UNIX_TIMESTAMP($user_time - INTERVAL 1 DAY) AND UNIX_TIMESTAMP($user_time)

关于mysql 获取两个unix时间戳之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15804766/

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