菜鸟求助,如何用sql 查询出用户在当月,有那些天签到了(不用查连续的)

表名及字段:user_sign_in (user_id ,signin_time)

传参数 : Integer userId

返回:Integer[] 1,5,6,......

select date_format(signin_time, '%Y-%m-%d')
from user_sign_in
where user_id = ""
and signin_time >= str_to_date(concat(date_format(now(), '%Y-%m-01')), '%Y-%m-%d')
and signin_time < str_to_date(concat(date_format(date_add(now(),INTERVAL 1 MONTH), '%Y-%m-01')), '%Y-%m-%d') 
select d from
select date_format(signin_time,'%d') as d, user_id from user_sign_in where DATE_FORMAT( signin_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m'  and user_id = 用户id))
group by d