Среднее количество элементов в наборе в улье?
У меня есть два столбца id и сегмент. Сегмент представляет собой набор строк, разделенных запятыми. Мне нужно найти среднее число сегментов во всей таблице. Один из способов сделать это с помощью двух отдельных запросов -
A - select count(*) from table_name;
B - select count(*) from table_name LATERAL VIEW explode(split(segment, ',') lTable AS singleSegment where segment != ""
avg = B/A
Ответ будет 8/4 = 2 в приведенном выше случае.
Есть ли лучший способ достичь этого?
Более длинная версия запроса выше работает нормально. Благодаря !! – BlitzKrieg
Да, я удалил неправильный первый запрос, так что вы действительно имеете в виду более короткий запрос, теперь :) @BlitzKrieg. Более длинный запрос будет медленнее, но он предлагает еще большую гибкость. –