I am trying to find the number of distinct values in each column of a table. Declaratively that is:
for each column of table xyz run_query("SELECT COUNT(DISTINCT column) FROM xyz") Finding the column names of a table is shown here.
SELECT column_name FROM information_schema.columns WHERE table_name=xyz However, I don't manage to merge the count query inside. I tried various queries, this one:
SELECT column_name, thecount FROM information_schema.columns, (SELECT COUNT(DISTINCT column_name) FROM myTable) AS thecount WHERE table_name=myTable is syntactically not allowed (reference to column_name in the nested query not allowed).
This one seems erroneous too (timeout):
SELECT column_name, count(distinct column_name) FROM information_schema.columns, myTable WHERE table_name=myTable What is the right way to get the number of distinct values for each column of a table with one query?
Article SQL to find the number of distinct values in a column talks about a fixed column only.