は、私は、クエリを実行でした:別のクエリでカウントクエリを実行してその結果を使用できますか?
Select id, (
select count(*) from tableA as a where a.value < a.id
)
from tableA as a where id < 5
をし、私が望んでいた結果を得ます。そうでない場合は、2つの質問をすることなく同じことをする方法がありますか?
は、私は、クエリを実行でした:別のクエリでカウントクエリを実行してその結果を使用できますか?
Select id, (
select count(*) from tableA as a where a.value < a.id
)
from tableA as a where id < 5
をし、私が望んでいた結果を得ます。そうでない場合は、2つの質問をすることなく同じことをする方法がありますか?
SELECT id, COUNT(id) FROM tableA a WHERE id < 5 GROUP BY id HAVING a.value < a.id
エイリアスを修正する必要があるかもしれませんが、エイリアスを持っていると動作しない可能性があります。
また、1つのselect文として実行するよりも時間がかかります。
Select a.id, mycount
from tableA as a
join
(select a1.id, count(*) as mycount from tableA as a1 where a.value < a.id) b
on a.id = b.id
where a.id < 5
を試すにはあなたが達成しようとしているものを出力の例を与えることができる - と、私たちは、データベースサーバの種類(MS、mysqlの、オラクル?)を教えてください。私は以下のようなことを考えていますが、サーバーの種類によって正確な構文が異なる可能性があります。
SELECT id, COUNT(CASE WHEN a.value < a.id THEN a.id ELSE NULL END) AS count
FROM tableA AS a
GROUP BY id