database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29653 게시물 읽기
No. 29653
그룹별 개수 및 합계구하는거 좀 알려주세요~
작성자
윤은숙(lydiay)
작성일
2010-05-13 17:21ⓒ
2010-05-13 21:59ⓜ
조회수
9,866

검색을 해봐도 모르겠어가지구요
질문을 올립니다.
고수님들 잘부탁드립니다
 

a테이블
ino    날짜                종류                금액          지역
1     2010-04-01     옷                 1000          수원
2     2010-04-03     가방              200            서울
3    2010-04-03       옷                1000            수원
4    2010-04-04      모자              300              수원
5   2010-04-05       모자               300             수원
6   2010-05-01          옷                1000          서울
7   2010-05-01        가방           1000             서울
8   2010-05-02       옷                  1000           수원
9   2010-05-05      옷                   1000             수원
:
:
이자료를 월별 지역별 종류의 합계를 구하여서
b테이블에 저장하구싶어요

b테이블에 이렇게

순서     날짜         지역       옷개수    가방개수       모자개수       옷합      가방합     모자합 
1        2010-04       수원         2               0                0                   2000     0           300
2        2010-04        서울         0             1                 0                         0          200           0
3         2010-05       서울         1             1                  0                        1000       1000      0
4          2010-05       수원        2            0                    0                          2000     0         0

select sum(금액) count(?) form  날짜(월)  group by  지역
sum해서 b테이블에 옷합필드에 어떻게 넣나요?

정확한 코딩을 모르겠어요
질문요점
1. 지역별  월별 묶는 법 모르겠어요 ㅠㅠ
2. 그룹한걸 개수랑 합계구해서 어떻게 b테이블에 넣을까요  ㅠㅠ

MySql 책을 샀는데도 적용법을 모르겠더라구요

난감한 질문만해서 죄송합니다

초보라서 그러니 양해부탁드립니다

이 글에 대한 댓글이 총 10건 있습니다.

insert into b테이블(날짜,지역,옷개수,가방개수,모자개수,옷합,가방합,모자합)
select substr(날짜, 1,7),
       지역,
       sum(case when 종류 = '옷' then 1 else 0 end) 옷개수,
       sum(case when 종류 = '가방' then 1 else 0 end) 가방개수,
       sum(case when 종류 = '모자' then 1 else 0 end) 모자개수,
       sum(case when 종류 = '옷' then 금액 else 0 end) 옷합,             
       sum(case when 종류 = '가방' then 금액 else 0 end) 가방합,
       sum(case when 종류 = '모자' then 금액 else 0 end) 모자합             
  from a테이블
 group by substr(날짜, 1,7),
       지역

사이베이스가 싫어(bluexmas)님이 2010-05-27 16:13에 작성한 댓글입니다.

답변주신bluexmas님에게 감사드립니다
열심 공부하고있지만 mysql하구 php는 넘 어렵습니다 
답변주심분들 덕분에
어둠속에서 빛을 보듯이 따라가고있습니다
감사합니다

 

윤은숙(lydiay)님이 2010-05-28 10:06에 작성한 댓글입니다.

답변주신데로 했는데 합산잘되어서 테이블에 잘들어가는데요

b테이블에 날짜가 00000-00-00 이런식으로 들어가네요 왜그럴까요

윤은숙(lydiay)님이 2010-05-28 11:46에 작성한 댓글입니다.

a테이블의 날짜 필드의 데이터 타입이 정확하게 어떻게 되는지 알려주세요.

사이베이스가 싫어(bluexmas)님이 2010-05-28 13:44에 작성한 댓글입니다.

날짜가 Date 타입인 경우,

insert into b테이블(날짜,지역,옷개수,가방개수,모자개수,옷합,가방합,모자합)
select DATE_FORMAT( 날짜, '%Y-%m' ),
       지역,
       sum(case when 종류 = '옷' then 1 else 0 end) 옷개수,
       sum(case when 종류 = '가방' then 1 else 0 end) 가방개수,
       sum(case when 종류 = '모자' then 1 else 0 end) 모자개수,
       sum(case when 종류 = '옷' then 금액 else 0 end) 옷합,             
       sum(case when 종류 = '가방' then 금액 else 0 end) 가방합,
       sum(case when 종류 = '모자' then 금액 else 0 end) 모자합             
  from a테이블
 group by DATE_FORMAT( 날짜, '%Y-%m' ),
       지역

사이베이스가 싫어(bluexmas)님이 2010-05-28 13:51에 작성한 댓글입니다.
이 댓글은 2010-05-28 13:52에 마지막으로 수정되었습니다.

답변주신 bluexmas님 감사합니다
정말 잘~~~됩니다 ㅋㅋㅋ

부끄럽지만 한가지 질문더 드려도 될까요?
옷합하구 가방합하구 더하는 방법도 있나요?
그걸 원하시네요
ㅠㅠ

윤은숙(lydiay)님이 2010-05-28 14:41에 작성한 댓글입니다.

select 날짜, 지역, 옷개수, 가방개수, 모장개수, 옷합, 가방합, 모자합,
       옷합 + 가방합
  from (select DATE_FORMAT( 날짜, '%Y-%m' ) 날짜,
               지역,
            sum(case when 종류='옷' then 1 else 0 end) 옷개수,
            sum(case when 종류='가방' then 1 else 0 end) 가방개수,
            sum(case when 종류='모자' then 1 else 0 end) 모자개수,
            sum(case when 종류='옷' then 금액 else 0 end) 옷합,              
            sum(case when 종류='가방' then 금액 else 0 end) 가방합,
            sum(case when 종류='모자' then 금액 else 0 end) 모자합              
       from a테이블
      group by DATE_FORMAT( 날짜, '%Y-%m' ),
            지역
       )

 

사이베이스가 싫어(bluexmas)님이 2010-05-28 18:06에 작성한 댓글입니다.
이 댓글은 2010-05-28 18:08에 마지막으로 수정되었습니다.

bluexmas 님 감사합니다
알려주신대로 했는데요
조회가안되네요
 

 

윤은숙(lydiay)님이 2010-05-31 12:15에 작성한 댓글입니다.

select DATE_FORMAT( 날짜, '%Y-%m' ),
       지역,
       sum(case when 종류 = '옷' then 1 else 0 end) 옷개수,
       sum(case when 종류 = '가방' then 1 else 0 end) 가방개수,
       sum(case when 종류 = '모자' then 1 else 0 end) 모자개수,
       sum(case when 종류 = '옷' then 금액 else 0 end) 옷합,             
       sum(case when 종류 = '가방' then 금액 else 0 end) 가방합,
       sum(case when 종류 = '모자' then 금액 else 0 end) 모자합             
  from a테이블
 group by DATE_FORMAT( 날짜, '%Y-%m' ),
       지역

여기에서 옷합 + 가방합 구하려면

select DATE_FORMAT( 날짜, '%Y-%m' ),
       지역,
       sum(case when 종류 = '옷' then 1 else 0 end) 옷개수,
       sum(case when 종류 = '가방' then 1 else 0 end) 가방개수,
       sum(case when 종류 = '모자' then 1 else 0 end) 모자개수,
       sum(case when 종류 = '옷' then 금액 else 0 end) 옷합,             
       sum(case when 종류 = '가방' then 금액 else 0 end) 가방합,
       sum(case when 종류 = '모자' then 금액 else 0 end) 모자합,

       (sum(case when 종류 = '옷' then 금액 else 0 end) 옷합 +              
       sum(case when 종류 = '가방' then 금액 else 0 end) 가방합) 옷가방합

  from a테이블
 group by DATE_FORMAT( 날짜, '%Y-%m' ),
       지역

이러면 안되나요>

 

지나가다님이 2010-06-01 16:12에 작성한 댓글입니다. Edit

지나가다님 감사합니다  ^^  해결되었습니다 ^^

윤은숙(lydiay)님이 2010-06-03 10:44에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29656여러게의 필드를 하나인덱스에 넣었을때 어떤차이가 있나요. [2]
VQ
2010-05-17
8072
29655여러 클라이언트에서 데이터를 하나씩 꺼내갈때 [2]
김대일
2010-05-15
7304
29654특정 문자열만 포함 하는 쿼리 가능한가요? [1]
이홍섭
2010-05-14
8458
29653그룹별 개수 및 합계구하는거 좀 알려주세요~ [10]
윤은숙
2010-05-13
9866
29651select 문에 공식을 재사용 할 수 있나요. [2]
송기창
2010-05-13
7409
29650mysql restart 경우 [1]
김현호
2010-05-12
7043
29649달력에서 날짜를 클릭하면 text박스로 전달하게 하는방법좀알려주세요 [4]
윤은숙
2010-05-11
8853
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다