[英]How to get the average of a column that contains a string with a number?
我有一個表,其中包含一個包含名稱列表的列和一個級別列表的列。 級別列的數據類型為字符串。 我正在嘗試獲取我的人員列表的平均水平。 所以下表應該填充2.8級((2+4+2+2+4+3)/6)->的平均水平,我希望它顯示低於平均水平的integer - 因此:'2級' 應該是結果。
由於這些是字符串而不是數字,如何添加級別?
表A
第 1 列 | 第 2 欄 |
---|---|
喬伊 | 2級 |
雷切爾 | 4級 |
羅斯 | 2級 |
菲奧比 | 2級 |
莫妮卡 | 4級 |
錢德勒 | 3級 |
結果:2級
它可能會有所不同,具體取決於您使用的 dbms:
SELECT AVG(CAST(REGEXP_REPLACE(column2, 'level ', '') as INTEGER))
FROM TABLE
或者正如評論中提到的,您可以使用“oreplace”:
SELECT AVG(CAST(OREPLACE(column2, 'level ', '') as INTEGER))
FROM TABLE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.