mysql 월별 데이터를 변수에 담고 싶습니다.
본문
안녕하세요.
월별 통계를 뽑는 와중에 막히는 부분이 있어 질문을 드립니다.
일단 테이블은 아래와 같습니다.
idx mem_id created usd
1 test1 2020-06-18 18:42:55 300
2 test1 2020-05-02 12:05:32 200
3 test2 2020-06-17 07:03:12 300
4 test1 2020-04-12 19:22:41 150
이렇게 있는데요
SELECT CONCAT(MONTH(created)) ym, sum(usd) as usd FROM [table] where mem_id = 'test1' GROUP BY ym;
이렇게 쿼리를 짜니
ym usd
4 150
5 200
6 300
이렇게 나오네요;;;제가 출력하고자 하는 결과는
1 0
2 0
3 0
4 150
5 200
6 300
7 0
8 0
9 0
10 0
11 0
12 0
이렇게 출력되도록 하려는데 막혀서 방법을 모르겠습니다.....
또 원하는 결과를 출력해서 각 월별로 값을 각각의 변수에 담고 싶은데
어떻게 해야될까요;;;;
답변 1
<?php
$arr1 = array(4 => 150, 5 => 200, 6 => 300);
$i = 0;
while($i < 12){
$month = key($arr1);
if ($i == $month) {
$arr2[$i] = $arr1[$month];
next($arr1);
}
else $arr2[$i] = 0;
$i++;
}
//출력
for($i=0; $i<12; $i++){
echo ($i+1). "월 = ". $arr2[$i]. "<br>";
}
?>