如何在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
;