2009-06-05 4 views

答えて

5
SELECT id, COUNT(id) FROM tableA a WHERE id < 5 GROUP BY id HAVING a.value < a.id 
0

エイリアスを修正する必要があるかもしれませんが、エイリアスを持っていると動作しない可能性があります。

また、1つのselect文として実行するよりも時間がかかります。

1

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 
0

を試すにはあなたが達成しようとしているものを出力の例を与えることができる - と、私たちは、データベースサーバの種類(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