2011-03-16 2 views
0

장바구니를 만들고 있습니다. 선택한 항목은 검색 쿼리를 기반으로 데이터베이스 내에 저장됩니다. 나는 경우 SKU, 종류와 색상의 행의 수량을 추가 할 수있는 방법mysql 쿼리 그룹화

같은 값입니다?

예 :

sku type color quantity 
--------------------------- 
1 type1 blue 5 
1 type1 blue 2 
2 type1 blue 5 
1 type1 green 5 

내 새로운 행

가 있어야한다 :

sku type color quantity 
--------------------------- 
1 type1 blue 7 
2 type1 blue 5 
1 type1 green 5 

공지 사항 첫 번째 행의 수량 지금

7. 어떻게이 작업을 수행 할 수있다? GROUP BY을 시도했지만 모두 일치하도록 동적으로 만드는 방법을 몰랐습니다. 그것을 할 것입니다

답변

2
SELECT sku,type,color, 
     SUM(quantity) 
    FROM table 
GROUP BY sku,type,color 
+0

감사합니다. – AbiusX

+0

그 값을 가진 병동에서 어떻게 테이블을 업데이트 할 수 있습니까? 다른 복제본을 지금 제거하십시오 .. – TDSii

+0

INSERT INTO table2 (select_statement_above); DROP table1; – AbiusX

1
SELECT sku, type, color, sum(quantity) 
FROM theTable 
GROUP BY sku, type, color 

. 편집에 대한

+0

아래의 모든 행을 삭제 어떻게 내가 그 값으로 테이블을 나중에 업데이트 할 수 있습니까? 그리고 다른 것들을 제거하십시오. 테이블을 청소하고 싶다는 것을 기억하십시오. – TDSii

+0

왜 테이블을 바꾸고 싶습니까? 이 결과를 사용하십시오. –

+0

목적은 테이블이 업데이트되지 않는 경우 테이블 – TDSii

0
CREATE TEMPORARY TABLE IF NOT EXISTS tmpTable LIKE dataTable 

DELETE FROM tmpTable 

Insert into tmpTable 
select sku,type,color,sum(quantity) from dataTable 
group by sku,type,color 

DELETE FROM dataTable 

INSERT INTO dataTable 
SELECT * FROM tmpTable 
+0

나중에 그 값으로 테이블을 업데이트 할 수 있습니까? 다른 사람을 제거하십시오. 테이블을 청소하고 싶다는 것을 기억하십시오 – TDSii

+0

는 당신의 질문을 완전하게 이해할 수 없다. table1에서 삭제; SCI, 타입, 색상별로 표를 선택하십시오. sku, type, color, sum (quantity) 또는 테이블의 데이터를 바꿀 필요가 있습니까? –

+0

나는 지저분한 테이블을 가지고 있는데, 그 결과는 정확히 똑같은 커맨드입니다. – TDSii

관련 문제