2013-08-07 4 views
0

쉽게 할 수 있지만이 작업을 수행 할 수는 없습니다. 삽입 작업에서는 sum()을 시도했지만 작동하지 않았습니다. 테이블 이름은 amount입니다. 나는 그것이 삽입하고 이전 데이터를 요약합니다 total_amount에 값을 삽입 할 수 있습니다 때열에 이전 행 데이터를 추가하여 데이터 삽입

 
    id  total_amount  
    1   200   
    2   400   
    3   600   
    4   800   
    5   1000  

나는 원한다. 합계 금액으로 500을 추가하려면 1500을 삽입한다고 가정합니다.

 
    id  total_amount 
    6   1500 

내가 300를 추가하려면 그것이 내가이 작업을 수행 할 수있는 방법을 1800

 
    id  total_amount 
    7   1800 

입니까?

+2

이 데이터를 VIEW에서 계산하지 않고 테이블에 저장해야하는 이유가 있습니까? –

+0

보기가 아닙니다. 테이블에 직접 저장을 원합니다. – Imran

답변

1

당신은 쿼리를 따라 insert 문을 사용하려면 :이 또한 id의 값을 설정하는 것입니다

insert into t(id, total_amount) 
    select max(id)+1, sum(total_amount) + 300 
    from t; 

. auto_increment 인 경우이 작업은 필요하지 않습니다.

+0

하지만 다른 열이 있다면 어떻게 삽입 할 수 있습니까? – Imran

1

당신은 예를 들어 500를 추가하려면 :

insert into your_table (total_amount) 
select sum(total_amount) + 500 
from your_table 
관련 문제