如何按问题运行SQL查询组?

时间:2014-10-09 21:13:42

标签: oracle

我有一个包含列的表:

表名:IdentityTable

ID         Dest_Name       Dest_Reference_Id         Format        IG

31231231    India               Delhi                XKHYGUI       21    
12313131    USA                 Washington           XHKOWKG       1    
34645542    India               Mumbai               XKLWOFH       1   
31231314    USA                 California           XLGJDJG       21   
31234531    India               Delhi                XKHIHUI       21    
12375671    USA                 Washington           XHKLHKG       21   
12574613    USA                 Washington           XLKWMKG       1

依旧......

我想查询此表以检索此表单中的信息:

Dest_Name  Dest_Reference_Id   Total_Format     Format            IG

India         Delhi                2            XKHYGUI           21
India         Delhi                2            XKHIHUI           21    
USA           Washington           3            XHKOWKG           1   
USA           Washington           3            XHKLHKG           21  
USA           Washington           3            XLKWMKG           1    
India         Mumbai               1            XKLWOFH           1   
USA           California           1            XLGJDJG           21

我做了:

select dest_name, dest_reference_id, count (format)
from IdentityTable
Group By dest_name, dest_reference_id;

我可以检索结果中除格式列以外的所有必需信息。我应该如何修改我的查询以返回预期的结果?

2 个答案:

答案 0 :(得分:0)

制作两个子查询并加入em。

SELECT counts.dest_name, 
       counts.dest_reference_id,
       counts.total_format,
       idents.format,
       idents.IG
FROM
(
  select dest_name, dest_reference_id, count (format) as total_format
  from IdentityTable
  Group By dest_name, dest_reference_id;
) counts
join
(
  select distinct dest_name, dest_reference_id, format, IG
  from identitytable 
) idents
on    counts.dest_name = idents.dest_name
  and counts.dest_reference_id = idents.dest_reference_id

答案 1 :(得分:0)

count(*) over(partition by dest_name, dest_reference_id)

且没有group by。谷歌“oracle分析功能”。