Группа по предложению в SQL Server 2005 - PullRequest
1 голос
/ 10 сентября 2010

У меня есть таблица с именем table1, и она выглядит следующим образом

    record type tran_ref_number  amount              customer_name  

    TRN                 123     15000                    sara
    TRN                 234     25000                    inba
    TRN                 345     20000                    rajiv
    TRN                 456     16000                    rahul
    TRN                 567     34556                    sathish
    TRN                 678     15000                    ilango
    TRN                 123     15000                    sara
    TRN                 234     25000                    inba
    TRN                 345     20000                    rajiv
    TRN                 456     16000                    rahul
    TRN                 567     34556                    sathish
    TRN                 678     15000                    ilango

Я хочу удалить записи из этой таблицы на основе «если сумма превышает 70000 / на одного клиента». результат должен быть сгруппирован по имени клиента.

Любой, кто имеет представление об этом, может помочь мне в этом вопросе.

спасибо заранее.

Ответы [ 3 ]

1 голос
/ 10 сентября 2010
;with cte as
(
SELECT SUM(amount) OVER (PARTITION BY customer_name) a
FROM table1
)
DELETE FROM cte WHERE a > 70000
0 голосов
/ 10 сентября 2010
  DELETE FROM Table1
  WHERE CUSTOMER_NAME IN (SELECT customer_name
     from table1 t
     group by customer_name
     having sum(amount) > 70000
  )
0 голосов
/ 10 сентября 2010
select customer_name
from table1 t
group by customer_name
having sum(amount) > 70000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...