実行していることに対して相関サブクエリは必要ありません。クエリに基づく1つの方法は次のとおりです。
select CustomerNum, count(CustomerNum)
from Rentals R
group by CustomerNum
having count(CustomerNum) = (select max(cnt)
from (select CustomerNum, count(CustomerNum) as cnt
from Rentals
group by CustomerNum
) rc
);
サブクエリをfrom
に移動したいと思います 句とサブクエリの使用:
select rc.*
from (select CustomerNum, count(CustomerNum) as cnt
from Rentals R
group by CustomerNum
) rc join
(select max(cnt) as maxcnt
from (select CustomerNum, count(CustomerNum) as cnt
from Rentals
group by CustomerNum
) rc
) m
on rc.cnt = m.maxcnt;
これらは標準SQLであり、両方のシステムで機能するはずです。実際には、おそらくtop
を使用する方法を見つけるでしょう。 またはrow_number()
SQLServer2008で。