Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

하루종일 삽질

MYSQL 그룹별 연속된 날짜 갯수 세기 본문

데이터베이스/MYSQL

MYSQL 그룹별 연속된 날짜 갯수 세기

인지도하락 2020. 1. 15. 16:30
SET @k=0;

SELECT member_no, biz_date, COUNT(group_date)
FROM (
	SELECT member_no, biz_date, @k:=@k+1 AS row_num, ADDDATE(biz_date, -@k) AS group_date
	FROM (
		SELECT a.member_no, a.biz_date, SUM(b.pay_amount)
		FROM bizshowings AS a
		RIGHT JOIN bizshowings_pay AS b ON a.no = b.biz_no
		WHERE a.biz_date > '2019-12-12'
		GROUP BY a.member_no, DATE(a.biz_date)
		ORDER BY a.member_no
	) AS aa
	GROUP BY member_no, DATE(biz_date)
) AS bb
GROUP BY member_no, group_date

 

핵심.

1. 변수를 사용해서 row를 카운트 한다.

2. 해당 날짜에 변수를 더하여 그룹 컬럼을 만들어준다.

3. 그룹 컬럼과 키 값을 그룹핑해주어 카운트 한다.

Comments