计算和平均范围
Posted
技术标签:
【中文标题】计算和平均范围【英文标题】:Calculate and average range [closed] 【发布时间】:2020-09-12 06:48:21 【问题描述】:在数据库的表aircraft
中计算波音型号的平均航程。
这是aircraft
表:
我知道
SELECT AVG(range) FROM aircraft;
但我只需要波音型号的范围。我试过了
WHERE model LIKE "B%"
因为它会选择以 B 开头的行,但我仍然收到错误。
更新: 根据要求,我的完整查询是:
SELECT AVG(range)
FROM aircraft
WHERE model LIKE "B%"
我收到以下错误:
ERROR: column "B%" does not exist LINE 3: WHERE model LIKE "B%
【问题讨论】:
请添加您的查询、您的预期结果和完整的错误信息。 你遇到了什么错误? => SELECT AVG(range) -> FROM aircraft -> WHERE model LIKE "B%";错误:列“B%”不存在第 3 行:WHERE model LIKE “B%”;预期结果应为 avg: 73.33333 从逻辑上讲,无论如何 Bombardier 也以 B 开头 - (除非 Bombardier 是 Boing 的一部分)。ALSO range 是保留字,需要反引号。 尝试使用单引号 LIKE 'B%'; 【参考方案1】:SQL 中的字符串文字用单引号 ('
) 表示,而不是双引号 ("
):
SELECT AVG(range)
FROM aircraft
WHERE model LIKE 'B%'
-- Here ----------^--^
另外请注意,此查询将包括型号“Bombardier CRJ-200”,因此您可能需要明确拼写波音:
SELECT AVG(range)
FROM aircraft
WHERE model LIKE 'Boeing%'
【讨论】:
【参考方案2】:我认为你需要Regex。 试试这段代码:
SELECT AVG(range)
FROM aircraft
WHERE model LIKE ‘[B][o][e][i][n][g]%’
【讨论】:
以上是关于计算和平均范围的主要内容,如果未能解决你的问题,请参考以下文章