2

現在、2 つの個別のクエリがあります。

1) さまざまなフィルターに基づいて実際の結果セットを返します。

select a, b, c from TableA
where x = 123
and y = 'ABC'
and z = 999

2) 行の総数を表示します。

select count(*) from TableA
where x = 123
and y = 'ABC'
and z = 999

つまり、同じクエリを 2 回実行しています。例として上に挙げたクエリは、複数の結合と多くのフィルターを使用したクエリよりもはるかに単純です。

同じことを達成するより良い方法はありますか?

4

2 に答える 2

0

最初のクエリでカウントを列として返すことはできませんか?

例えば

select a, b, c, count(*) as total from TableA
where x = 123
and y = 'ABC'
and z = 999

これにより、2回実行するのを避けることができます

于 2013-11-12T18:58:14.913 に答える