【问题标题】:Oracle query to fetch the count of distinct records based on another query's outputOracle 查询根据另一个查询的输出获取不同记录的计数
【发布时间】:2017-04-12 17:32:34
【问题描述】:

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

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); 

不确定如何处理原始请求。

谁能帮我弄到这个?

【问题讨论】:

    标签: sql oracle oracle11g


    【解决方案1】:

    你快到了。只需group by 提取的文件名。

    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))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多