经常在TSQL中使用以下查询:
SELECT COUNT(*), *
FROM CUSTOMER c
WHERE c.Name like 'foo%';
Run Code Online (Sandbox Code Playgroud)
当我尝试在Oracle SQL Developer中执行此查询时,它不起作用并抛出一个错误:
"失踪的表情"
什么是好的语法?
提前致谢.
Jef*_*emp 50
这将表现得更好:
SELECT COUNT(*) OVER (), c.*
FROM CUSTOMER c
WHERE c.Name like 'foo%';
Run Code Online (Sandbox Code Playgroud)
Kar*_*arl 11
一种方法是执行以下操作.这将导致每行的计数(*)结果.但要注意,有一个Cartesianjoin; 如果你有很多像'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%'
Run Code Online (Sandbox Code Playgroud)