如何在oracle中按某些字段分组并显示另一个字段的第一个值?

如何在oracle中按某些字段分组并显示另一个字段的第一个值?,oracle,group-by,Oracle,Group By,下面是我分组后看到的表格: DATE: TEST: BUILD: NUM: 17-FEB-14 testA BUILDA 100 18-FEB-14 testA BUILDA 20 20-FEB-14 testA BUILDB 120 我按测试、构建和日期进行分组。 问题是, BUILDA上testA上的一些子测试碰巧发生在2014年2月17日,而有些子测试发生在2014年2月18日。 这将拆分与record1和record2相同的记录 我需要的

下面是我分组后看到的表格:

DATE:       TEST:   BUILD:  NUM:
17-FEB-14   testA   BUILDA  100
18-FEB-14   testA   BUILDA  20
20-FEB-14   testA   BUILDB  120
我按测试、构建和日期进行分组。 问题是, BUILDA上testA上的一些子测试碰巧发生在2014年2月17日,而有些子测试发生在2014年2月18日。 这将拆分与record1和record2相同的记录

我需要的只是第一次约会的总数:

DATE:       TEST:   BUILD:  NUM:
17-FEB-14   testA   BUILDA  120
20-FEB-14   testA   BUILDB  120
我有没有办法做到这一点

查询很长,因此不会过帐完整的查询。 但它看起来像:

SELECT r.RN_EXECUTION_DATE, t.TESTSETNAME, r.RN_BUILD_VERSION, r.rn_status, 
 COUNT(r.rn_run_id) AS run_count
 FROM table t, table r, (.........) tlf
 WHERE (........)

GROUP BY t.TESTSETNAME,
  r.RN_BUILD_VERSION,
  r.RN_EXECUTION_DATE,
  r.rn_status

ORDER BY t.TESTSETNAME,
  r.RN_BUILD_VERSION  
;
提前感谢,,
Manoj

您可以在日期列上使用聚合函数MIN:

SELECT MIN(r.RN_EXECUTION_DATE), t.TESTSETNAME, r.RN_BUILD_VERSION, r.rn_status, 
 COUNT(r.rn_run_id) AS run_count
 FROM table t, table r, (.........) tlf
 WHERE (........)

GROUP BY t.TESTSETNAME,
  r.RN_BUILD_VERSION,
  r.rn_status

ORDER BY t.TESTSETNAME,
  r.RN_BUILD_VERSION  
;