gpt4 book ai didi

php - 如何计算在查询的 SELECT 部分中生成的列?

转载 作者:行者123 更新时间:2023-11-29 22:38:49 24 4
gpt4 key购买 nike

对于这个可怕的标题,我深表歉意,我真的不知道如何用一句话来解释我想要做的事情。

所以我使用 Laravel 和一个名为 searchable 的模型特征帮助我创建搜索表上的 varchar 和文本字段的查询。例如,该特征(在我对其进行了一些修改之后)创建了一个巨大的查询,您可以在这个要点中看到:

https://gist.github.com/Evertt/af025d741b802fc08af3

正如您在该查询底部附近所看到的,它只选择相关性得分高于 8 的记录。现在这是我的问题,我希望 MySQL 实时计算该数字。我还不知 Prop 体是怎么做的,但是我只想选择相关性得分位于所有匹配记录前 80% 的记录...类似这样的事情。

现在,当我尝试将该行更改为 HAVING relevance > (MAX(relevance)/2) 作为实验时,它不起作用。它返回了相关性分数大于 0 的所有匹配记录,这可能意味着它没有按照我想要的方式执行 MAX() 函数。

任何人都可以给我一些指导,告诉我如何使 HAVING关联性 = ... 遵循基于所有相关性分数的特定计算吗?

最佳答案

我相信您不能在having子句中使用计算列名称,您必须在那里使用完整的表达式。另外,在我看来,你的 group by 会引起问题。如果您想要所有(不同的) Actor ,为什么不直接按 actor.id 分组?

关于php - 如何计算在查询的 SELECT 部分中生成的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29447981/

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