Moz*_*ath 3 sql database oracle count
我有这个查询从表中获取行和查询将返回的行数:
SELECT tab.*,
(SELECT Count(*)
FROM mytable mtb
WHERE mtb.name = 'XYZ'
AND mtb.TYPE = 'TP')
FROM mytable tab
WHERE tab.name = 'XYZ'
AND tab.TYPE = 'TP'
Run Code Online (Sandbox Code Playgroud)
现在,如果你看到我只想要主查询返回的所有其他列的行数.我需要在非常大的查询中将此查询用作子查询.现在我想知道是否有更好的方法来编写此查询.我的意思是我们重复查询只是为了分别计算.那么请您提供更优化的表格
您应该使用分析函数count():
select tab.*, count(*) over () as totalcnt
from mytable tab
where tab.name = 'XYZ' and tab.type = 'TP'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
456 次 |
| 最近记录: |