MYSQL 에서 요일별 데이터추출 관련 질문입니다.
본문
SELECT CASE DAYOFWEEK(regdate_date)
WHEN 1 THEN "일"
WHEN 2 THEN "월"
WHEN 3 THEN "화"
WHEN 4 THEN "수"
WHEN 5 THEN "목"
WHEN 6 THEN "금"
WHEN 7 THEN "토"
END AS DateRange,
count(seq) AS Total
from v_visit
where date_format(regdate_date,"%Y%-%m%-%d")
GROUP BY DAYOFWEEK(regdate_date)
홈페이지 접속통계를 요일별로 나누기 위해서 MYSQL 에서 위 코드로 요일별 추출해서 GROUP BY로 묶어서 사용하려고 합니다.
다만 위의 코드는 문법에러가 나는데요. 검색해보니 CASE는 스위치문 안에서만 사용되어야된다고 하는데 어떻게 수정해야하나요;?
문법에러는 Parse error: syntax error, unexpected 'CASE' (T_CASE) in your code on line 1 입니다.
!-->답변 2
올려주신 쿼리를
그누보드의 g5_visit 테이블로 대입해서
쿼리의 컬럼만 변경해서 조회해보니 잘됩니다.
SELECT
CASE DAYOFWEEK(vi_date)
WHEN 1 THEN "일"
WHEN 2 THEN "월"
WHEN 3 THEN "화"
WHEN 4 THEN "수"
WHEN 5 THEN "목"
WHEN 6 THEN "금"
WHEN 7 THEN "토"
END AS DateRange,
count(vi_id) AS Total
FROM g5_visit
WHERE date_format(vi_date,"%Y%-%m%-%d")
GROUP BY DAYOFWEEK(vi_date)
수행결과
HeidiSql에서 수행해본것이구요
혹시라도 오류가 나오면
" 따옴표를
' 단일따옴표
로 변경해보세요
SELECT
CASE DAYOFWEEK(vi_date)
WHEN 1 THEN '일'
WHEN 2 THEN '월'
WHEN 3 THEN '화'
WHEN 4 THEN '수'
WHEN 5 THEN '목'
WHEN 6 THEN '금'
WHEN 7 THEN '토'
END AS DateRange,
count(vi_id) AS Total
FROM g5_visit
WHERE date_format(vi_date,"%Y%-%m%-%d")
GROUP BY DAYOFWEEK(vi_date)
SELECT CASE DAYOFWEEK(regdate_date) WHEN 1 THEN "일" WHEN 2 THEN "월" WHEN 3 THEN "화" WHEN 4 THEN "수" WHEN 5 THEN "목" WHEN 6 THEN "금" WHEN 7 THEN "토" END AS DateRange, COUNT(seq) AS Total FROM v_visit GROUP BY DAYOFWEEK(regdate_date)
답변을 작성하시기 전에 로그인 해주세요.