WITH T AS (SELECT U.NICK, COUNT(*) AS TOTAL, R.REFERREDNODE FROM REFERU R, USER U WHERE R.REFERREDNODE IS NOT NULL AND R.REFERREDNODE = U.NODEID AND NODEID > 0 AND VISIBLE = 'Y' GROUP BY U.NICK, R.REFERREDNODE ORDER BY COUNT(*) DESC FETCH FIRST 5 ROWS ONLY), U AS (SELECT T.NICK AS NICK, MAX(R.MSGID) AS MAXID, MIN(R.MSGID) AS MINID FROM USER, T, LOGS L, REFERU R WHERE T.REFERREDNODE = R.REFERREDNODE AND R.MSGID = L.MSGID AND USER.NICK = L.FROM AND VISIBLE = 'Y' AND NODEID > 0 GROUP BY T.NICK) SELECT T.NICK, T.TOTAL, LMAX.FROM, LMIN.FROM FROM T, U, LOGS LMAX, LOGS LMIN WHERE U.MAXID = LMAX.MSGID AND U.MINID = LMIN.MSGID AND T.NICK = U.NICK ORDER BY T.TOTAL DESC, U.MAXID DESC