2011-04-04 102 views
4

我试图将名为“CLOUD”的表复制到名为“t1_temp”的新表中,同时基于名为“tag”的列对行进行分组。但我希望只有在“NeighborhoodID”列相同时才会发生这种情况。SQL GROUP BY有条件吗?

我运行查询:

INSERT INTO t1_temp (id, NeighborhoodID, power, tag) 
     SELECT id, NeighborhoodID, SUM(power), tag 
     FROM CLOUD GROUP BY tag ORDER BY NeighborhoodID 

因此,例如: enter image description here

第三个条目不应与1号&第4项的分组,因为“NeighborhoodID” ISN”同样的。

我希望我很清楚,如果不是请评论,谢谢。

回答

2

您可以通过多个列组,所以:

INSERT INTO t1_temp (id, NeighborhoodID, power, tag) 
    SELECT id, NeighborhoodID, SUM(power), tag 
    FROM CLOUD GROUP BY tag, NeighborhoodID ORDER BY NeighborhoodID 
+0

竖起@Wrikken谢谢! – Tom 2011-04-04 20:49:17

0

我猜你的意思是还by子句

SELECT id, NeighborhoodID, SUM(power), tag 
    FROM CLOUD 
    GROUP BY tag, NeighborhoodID 
    ORDER BY NeighborhoodID 
0
INSERT INTO t1_temp (id, NeighborhoodID, power, tag) 
SELECT min(id), NeighborhoodID, SUM(power), tag 
FROM CLOUD 
GROUP BY NeighborhoodID, tag ORDER BY NeighborhoodID 

这是否帮助添加NeighborhoodID到组?

+0

它@shahkalpesh!我必须标记@Wrikken,因为他首先回答,但非常感谢您的回复。 – Tom 2011-04-04 20:54:17