How to Select Average from many Column with extrawhere from all Column?
I used REGEXP to eliminate the text from the column. This may not be the best answer but may work for learning purpose.

MariaDB [test]&gt; select * from abc;
+------+------+------+
| id   | ph   | ph2  |
+------+------+------+
|    1 | 10   | 20   |
|    2 | NA   | 20   |
|    3 | 11   | 10   |
+------+------+------+
3 rows in set (0.00 sec)

MariaDB [test]&gt; select (select avg(ph) from abc where ph regexp '^[0-9]+$') as avg_ph, (select avg(ph2) from abc where ph2 regexp '^[0-9]+$') as avg_ph2 from dual;
+--------+--------------------+
| avg_ph | avg_ph2            |
+--------+--------------------+
|   10.5 | 16.666666666666668 |
+--------+--------------------+
1 row in set (0.00 sec)