#sql
#sql
Вопрос:
Я получил следующую таблицу
values_table
-------------
created - 02022021
owner - john
value.measure1 - 10
value.measure2 - 2
value.measure3 -7
Мне нужно создать запрос, который возвращает среднее значение всех полей, начинающееся со ‘value’.
До сих пор мне удавалось написать что-то вроде этого
SELECT AVG(
select * from values_table.columns
where column_name like 'value.'
)
FROM values_table
Комментарии:
1. Какую базу данных вы используете? Являются ли ваши имена столбцов values_table crreated, owner, value.measure1, value.measure2 и value.measure3?
Ответ №1:
Используйте case
выражение:
SELECT AVG(CASE WHEN column_name like 'value.%' THEN col2 END)
FROM values_table;
Или:
SELECT AVG(column_name)
FROM values_table
WHERE column_name like 'value.%';