SQL GROUP BY с условием? - PullRequest
       4

SQL GROUP BY с условием?

4 голосов
/ 05 апреля 2011

Я пытаюсь скопировать таблицу с именем «CLOUD» в новую с именем «t1_temp», группируя строки на основе столбца с именем «tag». НО я хочу, чтобы это происходило, только если столбец «NeighborhoodID» совпадает.

запрос, который я выполняю:

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» не совпадает.

Надеюсь, я ясно, если нет, пожалуйста, прокомментируйте, спасибо.

Ответы [ 3 ]

2 голосов
/ 05 апреля 2011

Вы можете группировать по нескольким столбцам, так:

INSERT INTO t1_temp (id, NeighborhoodID, power, tag) 
    SELECT id, NeighborhoodID, SUM(power), tag 
    FROM CLOUD GROUP BY tag, NeighborhoodID ORDER BY NeighborhoodID
0 голосов
/ 05 апреля 2011
INSERT INTO t1_temp (id, NeighborhoodID, power, tag) 
SELECT min(id), NeighborhoodID, SUM(power), tag 
FROM CLOUD 
GROUP BY NeighborhoodID, tag ORDER BY NeighborhoodID

Помогает ли это?

0 голосов
/ 05 апреля 2011

Полагаю, вы хотите добавить NeighborhoodID также в группу по пункту

    SELECT id, NeighborhoodID, SUM(power), tag 
    FROM CLOUD
    GROUP BY tag, NeighborhoodID
    ORDER BY NeighborhoodID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...