Average number of columns per table in Snowflake

Query below returns the average number of columns per table in a database.


select columns,
    cast(1.0 * columns / tables as decimal (14,2)) as average_column_count
    (select count(*) as columns,
            count(distinct t.table_schema || '.' ||  t.table_name) as tables
      from information_schema.tables t
      inner join information_schema.columns c on 
                 c.table_schema = t.table_schema 
                 and c.table_name = t.table_name
      where t.table_type = 'BASE TABLE'


  • columns - total number of columns in a database
  • tables - number of tables in a database
  • average_column_count - average number of columns in a table in a database


  • Query returns just one row

Sample results

Comments are only visible when the visitor has consented to statistics cookies. To see and add comments please accept statistics cookies.
There are no comments. Click here to write the first comment.