2012-11-15 69 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循环的语法。我知道这不是你会用很多东西,但它只是为了我自己的安心,无论如何。你永远不知道什么时候你可能真的需要它,我希望在可能发生的时候得到它。 –