Php 如何计算在查询的SELECT部分生成的列?

Php 如何计算在查询的SELECT部分生成的列?,php,mysql,sql,laravel,Php,Mysql,Sql,Laravel,我为这个糟糕的标题道歉,我真的不知道如何用一句话来解释我要做的事情 因此,我使用laravel和一个名为的模型特性来帮助我创建查询,搜索表上的varchar和文本字段。举个例子,在我稍微修改它之后,这个特性创建了一个巨大的查询,你可以在下面的要点中看到: 正如您在该查询底部附近看到的,它只选择相关性得分高于8的记录。现在是我的问题了,我希望MySQL能够实时计算出这个数字。我还不知道到底是怎么回事,但我只想选择相关性得分在所有匹配记录前80%的记录。。。差不多吧 现在,作为一个实验,当我尝试将这

我为这个糟糕的标题道歉,我真的不知道如何用一句话来解释我要做的事情

因此,我使用laravel和一个名为的模型特性来帮助我创建查询,搜索表上的varchar和文本字段。举个例子,在我稍微修改它之后,这个特性创建了一个巨大的查询,你可以在下面的要点中看到:

正如您在该查询底部附近看到的,它只选择相关性得分高于8的记录。现在是我的问题了,我希望MySQL能够实时计算出这个数字。我还不知道到底是怎么回事,但我只想选择相关性得分在所有匹配记录前80%的记录。。。差不多吧

现在,作为一个实验,当我尝试将这一行更改为have relevance>MAXrelevance/2时,它没有起作用。它返回的所有匹配记录的相关性得分都大于0,这可能意味着它没有按照我希望的方式执行MAX函数


有没有人能给我一些指导,告诉我怎样才能使这项研究变得有意义。。。根据所有相关性得分进行特定计算?

我相信不能在having子句中使用计算出的列名,必须使用其中的完整表达式。
而且,在我看来,你的团队将导致问题。如果你想要所有不同的演员,为什么不按演员分组呢?

应该是MAXrelevance吗?@lukasgeiter,你是对的。当我测试代码时,我确实写对了,这只是一个输入错误。