Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL变量/别名不可用_Mysql_Sql - Fatal编程技术网

MySQL变量/别名不可用

MySQL变量/别名不可用,mysql,sql,Mysql,Sql,所以我现在要做的是根据另一个自动计算的值来选择一个值的数据集。(听起来很复杂。我想不是,我也不太懂英语) 我的SQL代码如下所示: SELECT ticket.ref_id AS id, COUNT( * ) AS reports, (COUNT(*)/post.views) AS treshold,post.views AS views FROM ticket, post WHERE ticket.ref_id = post.id AND (reports/post.views) GROUP

所以我现在要做的是根据另一个自动计算的值来选择一个值的数据集。(听起来很复杂。我想不是,我也不太懂英语)

我的SQL代码如下所示:

SELECT ticket.ref_id AS id, COUNT( * ) AS reports, (COUNT(*)/post.views) AS
treshold,post.views AS views
FROM ticket, post
WHERE ticket.ref_id = post.id AND (reports/post.views)
GROUP BY ref_id
ORDER BY views,reports DESC
问题是,当我尝试在WHERE子句中使用tresholdreports时,查询失败,并说“fieldlist”中没有这样的值。 我知道问题出在哪里,MySQL似乎不允许在where子句中使用“自定义”字段,但我确实需要它,我不知道如何解决它。
仅仅使用COUNT(*)也不起作用,因为它不知道计算什么


有人能帮我解决这个问题吗?我认为这是一个非常基本的SQL,但目前我还停留在这一点上

对于不可引用的列,可以使用
HAVING
子句而不是
WHERE
。它的性能不太好,但它能完成任务

HAVING从句几乎被应用 最后,就在项目发送到之前 客户端,没有优化。 (限制在使用后应用。)

HAVING子句可以指任何 选择表达式中命名的列或别名 在选择列表中或在外部 子查询,以及聚合函数

谢谢:)我一直都知道这个问题在我做的时候就简单了