Mysql 在加或减列平均值范围内列出[行]

Mysql 在加或减列平均值范围内列出[行],mysql,Mysql,我正在做一个家庭作业:“列出每个客户的姓名和体重,对于那些平均体重在10磅以内的客户。(不要使用[整数]作为平均体重,你必须使用一个函数来计算平均体重。) 我试过几种方法,比如:“其中c_权重介于平均值(c_权重-10)和平均值(c_权重+10)之间”,但都没有用 我当前的代码编译: SELECT c_first, c_last, c_weight FROM client WHERE c_weight between 160 and 180; 上面的代码只是一个占位符;我知道更正存在于我的W

我正在做一个家庭作业:“列出每个客户的姓名和体重,对于那些平均体重在10磅以内的客户。(不要使用[整数]作为平均体重,你必须使用一个函数来计算平均体重。)

我试过几种方法,比如:
“其中c_权重介于平均值(c_权重-10)和平均值(c_权重+10)之间”
,但都没有用

我当前的代码编译:

SELECT c_first, c_last, c_weight
FROM client
WHERE c_weight between 160 and 180; 

上面的代码只是一个占位符;我知道更正存在于我的
WHERE
语句中,我只是不知道如何正确地创建它。感谢您的帮助!

我将其表述为:

SELECT c_first, c_last, c_weight
FROM client
WHERE c_weight - (SELECT AVG(c_weight) FROM client) BETWEEN -10 AND 10;
请注意,我们使用一个子查询来查找整个表的平均权重,然后将每个记录的权重与之进行比较,看看它是否在范围内

为了理解
WHERE
子句中的逻辑,让我们假设平均权重为150。然后
WHERE
子句中的范围表示:

c_weight - 150 >= -10 AND c_weight - 150 <= 10

c_-weight-150>=-10和c_-weight-150=140和c_-weight你能解释一下WHERE语句吗?比如,按你想说的那样键入吗?这很有效(非常感谢!),但我不明白怎么做。重量减去(平均重量)介于-10和10之间的计算等于平均重量的正负。@Craze检查更新后的答案,以获得带有样本号的解释。
c_weight >= 140 AND c_weight <= 160