Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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 在where条件下使用val有效吗?_Mysql - Fatal编程技术网

Mysql 在where条件下使用val有效吗?

Mysql 在where条件下使用val有效吗?,mysql,Mysql,我的问题是 SELECT count(crm_clients.client_id) as count, (((sum(expectd_rev)/1000) +((COALESCE((sum(COALESCE(client_rating,0))/count(crm_client_assign.client_id)),0)*100)/5))/392.10000000)*100 as val FROM (`crm_clients`) JOIN `crm_project_assign` ON `crm_

我的问题是

SELECT count(crm_clients.client_id) as count, (((sum(expectd_rev)/1000) +((COALESCE((sum(COALESCE(client_rating,0))/count(crm_client_assign.client_id)),0)*100)/5))/392.10000000)*100 as val
FROM (`crm_clients`)
JOIN `crm_project_assign` ON `crm_clients`.`client_id` = `crm_project_assign`.`client_id`
JOIN `crm_projects` ON `crm_project_assign`.`project_id` = `crm_projects`.`project_id`
LEFT JOIN `crm_client_assign` ON `crm_clients`.`client_id` = `crm_client_assign`.`client_id`
WHERE `ctype` =  2 and crm_clients.client_id in (select client_id from crm_project_assign)

group by crm_clients.client_id
order by val desc
可以在where条件下使用val吗?任何解决方案?

不,您不能在
where
条件下使用该别名。 不允许在WHERE子句中引用列别名,因为在执行WHERE子句时可能尚未确定列值

您需要在
where
条件中再次写入这些内容。

不,您不能在
where
条件中使用该别名。 不允许在WHERE子句中引用列别名,因为在执行WHERE子句时可能尚未确定列值

您需要在
where
条件中再次写入这些内容。

不,您不能在
where
条件中使用该别名。 不允许在WHERE子句中引用列别名,因为在执行WHERE子句时可能尚未确定列值

您需要在
where
条件中再次写入这些内容。

不,您不能在
where
条件中使用该别名。 不允许在WHERE子句中引用列别名,因为在执行WHERE子句时可能尚未确定列值


您需要在
where
条件下再次写入这些内容。

由于两个原因,这是不允许的。首先,您不能在
where
子句中使用列别名。更重要的原因(在我看来)是
val
由聚合函数组成。不能在
where
子句中使用聚合函数

解决方案很简单:使用
having
子句。这在
分组方式之后,您可以执行以下操作:

having val > 10

或者你想要的任何东西。

这是不允许的,原因有二。首先,您不能在
where
子句中使用列别名。更重要的原因(在我看来)是
val
由聚合函数组成。不能在
where
子句中使用聚合函数

解决方案很简单:使用
having
子句。这在
分组方式之后,您可以执行以下操作:

having val > 10

或者你想要的任何东西。

这是不允许的,原因有二。首先,您不能在
where
子句中使用列别名。更重要的原因(在我看来)是
val
由聚合函数组成。不能在
where
子句中使用聚合函数

解决方案很简单:使用
having
子句。这在
分组方式之后,您可以执行以下操作:

having val > 10

或者你想要的任何东西。

这是不允许的,原因有二。首先,您不能在
where
子句中使用列别名。更重要的原因(在我看来)是
val
由聚合函数组成。不能在
where
子句中使用聚合函数

解决方案很简单:使用
having
子句。这在
分组方式之后,您可以执行以下操作:

having val > 10

当我直接使用((sum(expectd_rev)/1000)+((COALESCE((sum(COALESCE(client_rating,0))/count(crm_client_assign.client_id)),0)*100)/5))/392.10000000)*100时,我得到了一个错误无效的组函数不确定您要查找的结果。但不能像那样使用聚合函数。相反,请尝试按crm_clients.client_id的val=?order by val desc
当我直接使用((求和(预期修订)/1000)+(合并((求和(合并(客户评级,0))/count(客户分配,客户id)),0)*100)/5))/392.10000000)*100时,我得到一个错误无效的组函数不确定您要查找的结果。但不能像那样使用聚合函数。相反,请尝试按crm_clients.client_id的val=?order by val desc
当我直接使用((求和(预期修订)/1000)+(合并((求和(合并(客户评级,0))/count(客户分配,客户id)),0)*100)/5))/392.10000000)*100时,我得到一个错误无效的组函数不确定您要查找的结果。但不能像那样使用聚合函数。相反,请尝试按crm_clients.client_id的val=?order by val desc
当我直接使用((求和(预期修订)/1000)+(合并((求和(合并(客户评级,0))/count(客户分配,客户id)),0)*100)/5))/392.10000000)*100时,我得到一个错误无效的组函数不确定您要查找的结果。但不能像那样使用聚合函数。相反,请尝试按crm_clients.client_id的val=?按val desc下单
我需要where条件为val>0和val