2012-11-15 71 views
0

好的,從我在我的搜索中可以看出,大部分回答這個問題的人都是針對sql中的foreach循環。 但我其實需要做一個foreach循環。我的問題是,我不能爲我的生活記住這樣做的語法,就像我說過沒有人似乎想放棄它的佈局,所以現在我在這裏要求任何幫助。SQL FOREACH LOOP語法

也許它不是必需的foreach循環,但它是我可以看到的最好的方式。

我需要在一個表格上做一個SELECT COUNT(*)聲明,該表格包含1個月時間內約800個單位的20120個信號。所以我無法確定每個單元的任何特定數量的信號。這就是爲什麼我需要做點數。我需要爲每個單元獲得準確數量的信號,並且一次只做一個單元號碼不是一種選擇。所以我需要通過每個unitID來獲得一定時間內該單元傳遞的信號數量。

所以基本上我需要一種方法來運行所有的unitID,並獲得每個單獨的unitID的計數,而無需提供unitID來查找。

任何幫助將不勝感激。 如果你不能想到另一種方式,而不是foreach循環也這樣做,並且你有foreach循環的語法。請只發布它?這是相當緊迫的

+0

您不需要FOREACH循環。你可以使用基於集合的方法來做到這一點。 我會發布 RichardTheKiwi發佈了一個「典型」查詢的樣子,但如果您發佈您的架構和一些示例數據,我可以給您一個更確切的答案。 –

+0

你在談論哪些DBMS? –

回答

3

我懷疑你需要一個循環。你所描述的是基於麪包和黃油集合的GROUP BY場景。

select unitID, count(*) countSignals 
from signal_table 
group by unitID 
order by unitID 
+0

是的 - 這就是我即將發佈:) –

+0

非常感謝,工作出色。我可能會問在SQL中的foreach循環的語法。我知道這不是你會用很多東西,但它只是爲了我自己的安心,無論如何。你永遠不知道什麼時候你可能真的需要它,我希望在可能發生的時候得到它。 –