簡體   English   中英

分別計算每一列的不同值

[英]Count distinct values for every column individually

我可以計算每列的不同值而不枚舉它們嗎?

假設我有一個包含col1col2col3且沒有其他列的表。 在沒有明確提及這些列的情況下,我希望得到與以下相同的結果:

SELECT
count(distinct col1) as col1,
count(distinct col2) as col2,
count(distinct col3) as col3
FROM mytable;

我該怎么做?

我認為使用普通 SQL 可以輕松實現的最佳方式是運行這樣的查詢以生成所需的查詢,然后運行該查詢。

select 'select count(distinct '
    || listagg(column_name || ') as ' || column_name, ', count(distinct ') within group (order by column_id) 
    || ' from ' || max(table_name) || ';' as script
from all_tab_cols
where table_name = 'MYTABLE';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM