SQL Server удаляет записи, если group by возвращает одну и ту же запись более 4 раз - PullRequest
0 голосов
/ 25 марта 2019

У меня есть запрос SQL:

Select Store, MAX(Value)
From Table
GROUP BY Store

Я хочу удалить все записи, если в результате группы будет более 4 записей с одинаковым именем магазина

Ответы [ 2 ]

6 голосов
/ 25 марта 2019

Если я не правильно понял вопрос, вы ищете предложение having:

SELECT Store, MAX(Value)
FROM Table
GROUP BY Store
HAVING COUNT(*) < 5
0 голосов
/ 25 марта 2019

Ответ @Zohar - это, вероятно, то, что вам нужно, но, буквально, если вы хотите удалить записи, принадлежащие группе магазинов с более чем 4 записями, вы можете попробовать:

WITH cte AS (
    SELECT Store, COUNT(*) OVER (PARTITION BY Store) cnt
    FROM yourTable
)

DELETE
FROM cte
WHERE cnt > 4;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...