반응형
PHP에서 현재일 기준 -1일을 가져오는 방법입니다.
즉, 어제의 일자를 가져옵니다.
// 현재일 기준 -1일 날짜를 가져온다.
$어제날짜 = date("Y-m-d", strtotime("-1 day", time()));;
MySQL에서 부서별, 각 상품별(A/BC) 매출을 집계하는 SQL입니다.
- SUM(price) : 전체 매출을 집계합니다.
- SUM(CASE WHEN comp = 'A' THEN price ELSE 0 END) : A 상품의 매출만 집계합니다.
- GROUP BY dept WITH ROLLUP : 전체 합계를 Row로 보여줍니다.
- COALESCE(dept, '합계') : 마지막 Row의 칼럼 내용을 합계로 보여줍니다.
// ROLLUP 집계 함수
SELECT COALESCE(dept, '합계') AS dept,
SUM(price) total,
SUM(CASE WHEN comp = 'A' THEN price ELSE 0 END) A,
SUM(CASE WHEN comp = 'B' THEN price ELSE 0 END) B,
SUM(CASE WHEN comp = 'C' THEN price ELSE 0 END) C
FROM TABLE
WHERE date BETWEEN STR_TO_DATE('[시작날짜]','%Y-%m-%d %H:%i:%s')
AND STR_TO_DATE('[종료일]','%Y-%m-%d %H:%i:%s')
GROUP BY dept WITH ROLLUP
MySQL에서 현재일을 기준으로 날짜를 가져오는 방법입니다.
/* 현재일 가져오기 */
SELECT DATE_FORMAT( NOW(), '%Y-%m-%d %H:%i:%s' )
/* 현재일 기준 -1일 가져오기 */
SELECT DATE_FORMAT( DATE_ADD(NOW(), INTERVAL - 1 DAY), '%Y-%m-%d 23:29:55' )
/* 현재일 기준 -3일 가져오기 */
SELECT DATE_FORMAT( DATE_ADD(NOW(), INTERVAL - 3 DAY), '%Y-%m-%d 00:00:00' )
MySQL에서 실적을 집계하는 방법입니다.
기간 전체 누적을 같이 보여주기 위해서 UNION ALL을 사용하였습니다.
첫번째 SQL은 전체 누적 데이터이고
두번째 SQL은 현재일 기준으로 전일 데이터를 가져오 일자별로 데이터를 출력하게 합니다.
/* 실적 집계하기 (누적/전일/오늘) */
SELECT '현재까지 누적' reg_date,
SUM(price) total
FROM TABLE
WHERE p_date BETWEEN DATE_FORMAT(CONCAT(DATE_FORMAT( NOW(),'%Y-%m'),'-1'),'%Y-%m-%d')
AND DATE_FORMAT( NOW(), '%Y-%m-%d 23:29:55' )
UNION ALL
SELECT DATE_FORMAT(reg_date, '%Y-%m-%d') reg_date,
SUM(price) total
FROM TABLE
WHERE p_date BETWEEN DATE_FORMAT( DATE_ADD(NOW(), INTERVAL - 1 DAY), '%Y-%m-%d 00:00:00' )
AND DATE_FORMAT( NOW(), '%Y-%m-%d 23:29:55' )
GROUP BY DATE_FORMAT(reg_date, '%Y-%m-%d')
반응형
'유용한 활용팁' 카테고리의 다른 글
CentOS 7 mariaDB에서 Specified key was too long; max key length is 767 bytes 에러 해결 방법 (0) | 2020.02.29 |
---|---|
서브 도메인(디렉토리) .htaccess로 그누보드 게시판 단축 URL 만들기 - RewriteRule, Google Search Console (0) | 2020.02.28 |
구글 광고 트래픽 및 전환 스크립트 사이트에 적용하기 (0) | 2020.02.26 |
PHP Json 데이터에 \n(역슬래시) 문자 변경하여 배열로 만들기 (0) | 2020.02.25 |
Javascript 내국인 주민등록번호 유효성 검사 (0) | 2020.02.24 |