我需要一个查询,该查询将返回一个表,其中每个列是另一个表的列中不同值的计数。
我知道如何在一列中计算不同的值:
select count(distinct columnA) from table1;
我想我可以把它变成一个很长的select子句:
select count(distinct columnA), count(distinct columnB), ... from table1;
但这不是很优雅,并且经过硬编码。我希望有一些更灵活的方法。
我感谢所有答复。我认为在这种情况下最适合我的解决方案如下(从不知道该表的外部程序中计算出该表的每个列中不同值的数量)(该表的名称除外):
运行“ describe table1”,然后从结果中拉出列名。
遍历列名并创建查询以计算每列中的不同值。该查询将类似于“从表1中选择count(distinct columnA),count(distinct columnB),…”。