计算和平均范围

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]%’

【讨论】:

以上是关于计算和平均范围的主要内容,如果未能解决你的问题,请参考以下文章

如何从一组数字计算平均值,中位数,模式和范围

如何计算日期时间范围内的 n 个平均值?

计算不同时间范围内项目的平均分钟数

ENVI计算不同轨道号范围中的平均高程

计算 Pandas 数据框中的平均真实范围列 [重复]

根据日期范围计算滚动平均值[重复]