0

我有一个表,其中包含一个包含名称列表的列和一个级别列表的列。级别列的数据类型为字符串。我正在尝试获取我的人员列表的平均水平。所以下表应该填充平均水平,即 2.8 级 ((2+4+2+2+4+3)/6)->,我希望它显示低于平均水平的整数 - 因此:'2 级' 应该是结果。

由于这些是字符串而不是数字,如何添加级别?

表A

第 1 列 第 2 栏
乔伊 2级
雷切尔 4级
罗斯 2级
菲奥比 2级
莫妮卡 4级
钱德勒 3级

结果:2级

4

1 回答 1

0

它可能会有所不同,具体取决于您使用的 dbms:

SELECT  AVG(CAST(REGEXP_REPLACE(column2, 'level ', '') as INTEGER))
FROM TABLE

或者正如评论中提到的,您可以使用“oreplace”:

SELECT  AVG(CAST(OREPLACE(column2, 'level ', '') as INTEGER))
FROM TABLE
于 2021-02-24T02:07:22.557 回答