33

TSQL でよく使用されるのは、次のクエリです。

SELECT COUNT(*), * 
FROM CUSTOMER c 
WHERE c.Name like 'foo%';

Oracle SQL Developer でこのクエリを実行しようとすると、機能せず、エラーがスローされます。

「表現不足」

良い構文は何ですか?

前もって感謝します。

4

2 に答える 2

67

これにより、パフォーマンスが向上します。

SELECT COUNT(*) OVER (), c.*
FROM CUSTOMER c 
WHERE c.Name like 'foo%';
于 2013-06-20T05:43:27.363 に答える
13

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%'
于 2013-06-19T09:08:28.843 に答える