Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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/5/sql/82.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_Average - Fatal编程技术网

Mysql 选择平均评级介于

Mysql 选择平均评级介于,mysql,sql,average,Mysql,Sql,Average,我有两张桌子: 表biz和表biz_评级 生意 商务id int 名称varchar 商业评级 商业评级id int 商务id int 评级整数 我想要一个查询来选择平均评级在1-2或3-4之间的所有业务行,或者5评级是一个从0到5的数字 我真的不知道如何开始 我现在有这样的东西: SELECT biz_id FROM biz WHERE biz_id IN (SELECT biz_id FROM biz_rating WHERE AVG(rating) BETW

我有两张桌子:

表biz和表biz_评级

生意

商务id int 名称varchar 商业评级

商业评级id int 商务id int 评级整数 我想要一个查询来选择平均评级在1-2或3-4之间的所有业务行,或者<5或>5评级是一个从0到5的数字

我真的不知道如何开始

我现在有这样的东西:

SELECT
    biz_id
FROM
    biz
WHERE
    biz_id IN
    (SELECT biz_id FROM biz_rating WHERE AVG(rating) BETWEEN 0 AND 5)
ORDER BY
    biz_id ASC

但这根本不起作用。

只需使用聚合即可。您甚至不需要加入:

select br.biz_id
from biz_rating br
group by br.biz_id
having avg(rating) between 1 and 2;  -- or whatever limits you want

如果需要名称和id,可以加入表

 select biz_id,name,b2.avgrating
 from BIZ as B1,
( select biz_id as bid, avg(rating) as avgrating
 from biz_rating
 group by biz_id 
 having avg(rating) between 0 and 5) as B2

 where B1.biz_id=B2.bid

如果您想添加分组依据并在子选择中从何处切换到何处,这也将选择平均评分。