我能運行查詢:您可以在另一個查詢中進行計數查詢並使用結果嗎?
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
你可以但你可能想要修復你的別名,因爲它可能無法按你的方式工作。
而且,如果您可以將它作爲單個選擇語句來執行,它將會慢很多。
嘗試
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