TSQL でよく使用されるのは、次のクエリです。
SELECT COUNT(*), *
FROM CUSTOMER c
WHERE c.Name like 'foo%';
Oracle SQL Developer でこのクエリを実行しようとすると、機能せず、エラーがスローされます。
「表現不足」
良い構文は何ですか?
前もって感謝します。
これにより、パフォーマンスが向上します。
SELECT COUNT(*) OVER (), c.*
FROM CUSTOMER c
WHERE c.Name like 'foo%';
1 つのアプローチは、次のようなことを行うことです。これにより、各行の count(*) 結果が得られます。ただし、デカルト結合があることに注意してください。「foo%」のような行が多数ある場合、パフォーマンスが低下します。
select a.cntr, c.*
from CUSTOMER c
, (select count(*) cntr
from customer b
where b.name like 'foo%' ) a
where c.name like 'foo%'