with t_follower_id as (
    select follower_id
    from follow
    where user_id=1
)
select music_name
from follow a
join music_likes b on a.follower_id=b.user_id
join music c on b.music_id=c.id
where follower_id in (select * from t_follower_id)
and music_id not in (select music_id from music_likes where user_id=1)
group by music_name
order by max(music_id)

GROUP BY 和 ORDER BY 的列不一致,会报错:

select music_name
from tb_xxx
group by music_name
order by music_id

在GROUP BY聚合查询中,ORDER BY子句只能引用GROUP BY子句中的列或聚合函数:

select music_name
from tb_xxx
group by music_name, music_id
order by music_id

-- 或者:
select music_name
from tb_xxx
group by music_name
order by max(music_id)