Sql Oracle查询根据另一个查询获取不同记录的计数';s输出

Sql Oracle查询根据另一个查询获取不同记录的计数';s输出,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我有一个Oracle表(文件记录),其中包含以下格式的数据: file_name record time issue C:/work/file.csv 234RCV 2017-04-10 02.50.35 RCM0001 D:/new/file.csv 235RCV 2017-04-09 07.20.59 RCM0002 D:/new1/fil

我有一个Oracle表(文件记录),其中包含以下格式的数据:

file_name              record      time                       issue
C:/work/file.csv       234RCV      2017-04-10 02.50.35        RCM0001
D:/new/file.csv        235RCV      2017-04-09 07.20.59        RCM0002
D:/new1/file1.csv      235RCV      2017-03-08 09.28.19        RCM0002
D:/new/file1.csv       236RCV      2017-04-09 03.32.54        RCM0002
C:/new/file.csv        237RCV      2017-04-09 23.24.18        RCM0002
文件名相同,但路径不同。我需要获取每个文件中不同记录的数量。 我的最终输出应该是这样的:

FILE_NAME              Number of records
file.csv               3
file1.csv              2    
我能够使用以下查询解析文件名:

SELECT DISTINCT substr(S,instr(file_name,'\',-1)+1,length(file_name)-instr(file_name,'\',-1)) AS FILE_NAME FROM (select DISTINCT file_name from FILE_RECS); 
不确定如何处理原始请求


谁能帮我弄到这个吗?

你就快到了。只需按提取的文件名进行分组

SELECT substr(file_name,instr(file_name,'/',-1)+1,length(file_name)-instr(file_name,'/',-1)) AS FILE_NAME
,COUNT(*) as number_of_records
FROM FILE_RECS
GROUP BY substr(S,instr(file_name,'/',-1)+1,length(file_name)-instr(file_name,'/',-1))

你就快到了。只需按提取的文件名进行分组

SELECT substr(file_name,instr(file_name,'/',-1)+1,length(file_name)-instr(file_name,'/',-1)) AS FILE_NAME
,COUNT(*) as number_of_records
FROM FILE_RECS
GROUP BY substr(S,instr(file_name,'/',-1)+1,length(file_name)-instr(file_name,'/',-1))