描述
题目:
现在运营需要查看人物来自于哪些电视剧,请从用户信息表中取出电视剧的去重数据。
示例:
user_profile
id |
name |
gender | age | Title of TV Series |
dynasty |
1 |
甄嬛 |
女 |
22 |
甄嬛传 |
清 |
2 |
东方青苍 |
男 |
苍兰决 |
架空 |
|
3 |
纪晓岚 |
男 |
20 |
铁齿铜牙纪晓岚 |
清 |
4 |
佟湘玉 |
女 |
23 |
武林外传 |
架空 |
5 |
康熙 |
男 |
25 |
康熙王朝 |
清 |
6 |
年世兰 |
女 |
25 |
甄嬛传 |
清 |
根据示例,你的查询应返回以下结果:
Title of TV Series |
甄嬛传 |
苍兰决 |
铁齿铜牙纪晓岚 |
武林外传 |
康熙王朝 |
答案:
方法一:
selectdistinct Title of TV Series from user_profile;
方法二:
select Title of TV Series from user_profile groupby Title of TV Series
注:
distinct和group by区别
distinct
distinct 只能放在查询字段的最前面,不能放在查询字段的中间或者后面。
distinct 对后面所有的字段均起作用,即 去重是查询的所有字段完全重复的数据,而不是只对 distinct 后面连接的单个字段重复的数据。
要查询多个字段,但只针对一个字段去重,使用distinct去重的话是无法实现的。
group by
一般与聚类函数使用(如count()/sum()等),也可单独使用。
group by 也对后面所有的字段均起作用,即 去重是查询的所有字段完全重复的数据,而不是只对 group by后面连接的单个字段重复的数据
查询的字段与group by 后面分组的字段没有限制。(在oracle中使用group by时,查询的字段必须是group by 分组的字段和聚类函数。如select name,sex from tb_students group by name这个sql)