SELECT goalId, date_format(createAt, '%Y.%m.%d') as createAt, count(row_num) as countDay
FROM (
SELECT goalId, createAt, goalBookId, @var:=@var+1 AS row_num, date_format(ADDDATE(createAt, -@var), '%Y-%m-%d') AS group_date
FROM (
SELECT @var:=0, a.goalId, a.createAt, goalBookId
FROM Challenge AS a
RIGHT JOIN Goal AS b ON a.goalId = b.goalId
WHERE a.goalId = ${goalId}
GROUP BY a.goalId, DATE(a.createAt)
ORDER BY createAt ASC ) AS aa
GROUP BY goalId, DATE(createAt)
) AS bb
GROUP BY goalId, group_date
ORDER BY createAt DESC limit 1
'MySQL' 카테고리의 다른 글
[MySQL] 그룹 별 상위 n 개 (0) | 2021.07.19 |
---|---|
[MySQL] 데이터 랜덤으로 가져오기 (0) | 2021.07.13 |
[MySQL] 월별 통계 (0) | 2021.03.29 |
[MySQL] SELECT, INSERT, UPDATE, DELETE (0) | 2021.03.29 |