개발 Q&A

제목 mysql 선배님들 쿼리질문좀요 ㅜㅜ
글쓴이 초보프로그래머 작성시각 2015/08/31 20:15:51
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 11197   RSS
너무 어렵네여..
주문금액                     주문시간
5000       1432570465
1000       1432629620
20000       1432683921
5000       1432768828
1000       1432854881
25000       1432863811
1200       1435733126
5000       1438654788

뭐이런식으로 되어있습니다.
주문시간이 timestamp가 아니라, 그냥 int 로 mkdate? 70년 1월 1일 부터 뭐 1초씩 계산된다는 그걸로 되어 있어요.
근데 저걸 통계를 내야하는데요..

1일~ 31일까지 일마다 총금액을 내어서, 1일은 2000원 2일은 3000원

해당월이 말일이 31일이면 31일까지 통계를 내야하는거에요.

뭐, 해당월과 해당 월 말일을 구하는건 쉬운데, 이게 mkdate 라서 group by 도 안통하고, 이게 뭐 어떡해 해야될까요...ㅜㅜ

결과는 result()로

2015-08-01 20000
2015-08-02 15000
.
.
.
2015-08-31 12000

이런식으로 결과값이 나오고 싶은데 어찌해야될까요?
 다음글 (왕초보 ㅠㅠ) 정말 기초개념질문 하나 드릴께요 ㅠ (2)
 이전글 이니시스(NIpay50) 결제 할때 변조값 RN값 관련...

댓글

ci개밟자 / 2015/08/31 20:41:05 / 추천 0
int면 from_unixtime 로 간단하게 날짜로 바꿀수 있습니다

컬럼명이 돈이 money고 주문시간이 date면 

SELECT money, from_unixtime(date) as date FROM 테이블 ORDER BY from_unixtime(date) ASC

하시면 아래와 같이 나올것 같습니다

이제 요리를 하면됩니다

초보프로그래머 / 2015/08/31 20:43:25 / 추천 0
우와 역시 대단한 사람들이 많아!!! 한번 시도해볼게요 정말 감사합니다.
들국화 / 2015/09/01 08:51:53 / 추천 0
저게 타임스템프 아닌가요? ^^
타임스템프 값을 스트링으로 바꾸고 substring 해서 합을 구하거나 date_format 같은 함수로 변환해서 하세요.
도톰한물티슈 / 2015/09/02 15:17:44 / 추천 0
주제 넘게 첨언을 하자면.... ci개밟자 님의 쿼리에 추가를해서...

select date, sum(money) money
from(
  SELECT money, date_format(from_unixtime(date), '%Y-%m-%d') as date 
  FROM test0001 
)A
group by date
order by date asc
;

요렇게 해보시면.... 원하시는 아래와 같은 결과가 나옵니다....
date            money
------------------------ 
2015-05-26    6000
2015-05-27    20000
2015-05-28    5000
2015-05-29    26000
2015-07-01    1200
2015-08-04    5000

^^;; 물론 이미 처리하셨겠지만요.....