SQL GROUP BY有条件吗?
问题描述:
我试图将名为“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
因此,例如:
第三个条目不应与1号&第4项的分组,因为“NeighborhoodID” ISN”同样的。
我希望我很清楚,如果不是请评论,谢谢。
答
您可以通过多个列组,所以:
INSERT INTO t1_temp (id, NeighborhoodID, power, tag)
SELECT id, NeighborhoodID, SUM(power), tag
FROM CLOUD GROUP BY tag, NeighborhoodID ORDER BY NeighborhoodID
答
我猜你的意思是还by子句
SELECT id, NeighborhoodID, SUM(power), tag
FROM CLOUD
GROUP BY tag, NeighborhoodID
ORDER BY NeighborhoodID
答
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
竖起@Wrikken谢谢! – Tom 2011-04-04 20:49:17