我有两列 id 和 segment。段是逗号分隔的字符串集。我需要在所有表格中找到平均段数。一种方法是使用两个单独的查询 -
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。
有没有更好的方法来实现这一目标?