Oracle10g Oracle查询不同记录问题
我有一张有以下记录的表格Oracle10g Oracle查询不同记录问题,oracle10g,Oracle10g,我有一张有以下记录的表格 seqNo desc typeID statusID GroupSeqNo 1 test 20 30 16 2 test1 21 42 16 3 test2 20 43 17 4 test3 20 30 17 5 test4 21
seqNo desc typeID statusID GroupSeqNo
1 test 20 30 16
2 test1 21 42 16
3 test2 20 43 17
4 test3 20 30 17
5 test4 21 42 18
6 test5 20 43 18
我将此表与其他两个表合并,以获得typedescription和Statusdescription
我的问题是如何只显示每个组的一条记录seqno?如果您查看上述样本记录,则有3条来自GroupSeqNo 16的记录,2条用于17,2条用于18
以下是我正在使用的查询:
SELECT DISTINCT SS.GROUPSEQNO,SS.SEQNO,SS.DESC,T.DESC,S.DESC
FROM STATS SS, DDTYPES T, DDSTATUSES S
WHERE SS.TYPE_ID=T.TYPE_ID AND SS.STATUS_ID=S.STATUS_ID
加入一个子查询,该查询使用
GROUP BY
对STATS
表进行分组,并根据需要选择MIN(seqNo)
或MAX(seqNo)
SELECT SS.GROUPSEQNO, SS.SEQNO, SS.DESC, T.DESC, S.DESC
FROM STATS SS
INNER JOIN DDTYPES T ON SS.TYPE_ID = T.TYPE_ID
INNER JOIN DDSTATUSES S SS.STATUS_ID = S.STATUS_ID
INNER JOIN (
SELECT MIN(seqNo) MinID
FROM STATS
GROUP BY GroupSeqNo
) g ON SS.seqNo = g.MinID
加入一个子查询,该查询使用
GROUP BY
对STATS
表进行分组,并根据需要选择MIN(seqNo)
或MAX(seqNo)
SELECT SS.GROUPSEQNO, SS.SEQNO, SS.DESC, T.DESC, S.DESC
FROM STATS SS
INNER JOIN DDTYPES T ON SS.TYPE_ID = T.TYPE_ID
INNER JOIN DDSTATUSES S SS.STATUS_ID = S.STATUS_ID
INNER JOIN (
SELECT MIN(seqNo) MinID
FROM STATS
GROUP BY GroupSeqNo
) g ON SS.seqNo = g.MinID
从STATS SS、DDTYPES T、ddstatus S中选择DISTINCT SS.GROUPSEQNO、SS.DESC、T.DESC、S.DESC,其中SS.TYPE_ID=T.TYPE_ID和SS.STATUS_ID=S.STATUS_ID选择DISTINCT SS.GROUPSEQNO、SS.DESC、T.DESC、S.DESC,其中SS.TYPE_ID=T.TYPE_ID=T.TYPE_ID和SS.STATUS_ID=S.STATUS_ID