查询不重复的表空间和数据文件

时间:2019-03-14 15:19:27

标签: sql

我的表空间中的数据文件更多

如果我运行此查询:

select distinct table space_name, file_name
from dba_data_files
order by tablespace_name, file_name ASC;

例如,向我展示

tablespace a           datafile1
tablespace a           datafile2
tablespace a           datafile3
tablespace b           datafile4

我想要一个结果

tablespace a            datafile 1
                        datafile 2
                        datafile 3
tabelspace b            datafile 4

我如何通过查询执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以为此使用窗口功能:

select (case when row_number() over (partition by table_space_name order by file_name) = 1
             then table_space_name
        end) as table_space_name,
       file_name 
from dba_data_files
group by table_space_name, file_name
order by tablespace_name, file_name;

两个order by子句必须相同。