SQL

Article Directory
  1. 1. SQL语法
  2. 2. 题目

SQL

SQL语法

网易云音乐推荐(网易校招笔试真题)

题目

DISTINCT不能和order by一起使用的问题

select查询中如果没有需要order的,那么会出错,使用子查询;也可以使用group by 子句代替distinct解决(不一定对)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 利用子查询,但需要注意null的处理,最好使用NOT IN剔除自己喜欢的音乐,而不是<>。当自己没有喜欢的音乐时候,使用不等于进行剔除就可能出现问题。
# distinct不能写在外侧,就写在里面
select music_name
from music
where id in (
select distinct music_id
from music_likes
where user_id in (
select follower_id
from follow
where user_id = 1
)
)
and id not in (
select music_id
from music_likes
where user_id = 1
)
order by id

Author: Jcwang

Permalink: http://example.com/2022/08/20/%E5%85%AB%E8%82%A1SQL/