首页 > 试题广场 >

查询结果去重

[编程题]查询结果去重
  • 热度指数:519856 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
题目:现在运营需要查看用户来自于哪些学校,请从用户信息表中取出学校的去重数据。

示例:user_profile
id device_id gender age university province
1 2138 male 21 北京大学 Beijing
2 3214 male
复旦大学 Shanghai
3 6543 female 20 北京大学 Beijing
4 2315 female 23 浙江大学 ZheJiang
5 5432 male 25 山东大学 Shandong
根据示例,你的查询应返回以下结果:
university
北京大学
复旦大学
浙江大学
山东大学
示例1

输入

drop table if exists user_profile;
CREATE TABLE `user_profile` (
`id` int NOT NULL,
`device_id` int NOT NULL,
`gender` varchar(14) NOT NULL,
`age` int ,
`university` varchar(32) NOT NULL,
`province` varchar(32)  NOT NULL);
INSERT INTO user_profile VALUES(1,2138,'male',21,'北京大学','BeiJing');
INSERT INTO user_profile VALUES(2,3214,'male',null,'复旦大学','Shanghai');
INSERT INTO user_profile VALUES(3,6543,'female',20,'北京大学','BeiJing');
INSERT INTO user_profile VALUES(4,2315,'female',23,'浙江大学','ZheJiang');
INSERT INTO user_profile VALUES(5,5432,'male',25,'山东大学','Shandong');

输出

北京大学
复旦大学
浙江大学
山东大学
头像 牛客题解官
发表于 2025-02-12 17:47:34
精华题解 题目分析 我们需要从 user_profile 表中获取所有不同的大学名称。其中我们需要提取的列如下 university: 用户所在大学,字符串类型。 SQL 查询 以下是实现上述思路的 SQL 查询: SELECT DISTINCT university FROM user_profile; 展开全文
头像 牛客987852806号
发表于 2021-08-30 14:51:21
二种方式1.distinct 关键字select distinct university from user_profiledistinct去重,放在列的前面使用。2.分组SELECTuniversityfrom user_profilegroup by university以分组来筛选出去重的结果
头像 星空真美呀
发表于 2022-03-05 09:53:12
两种思路 第一种:使用distinct(关键词distinct用于返回唯一不同的值) select distinct university from user_profile; 第二种:使用group by按照university进行分组 select university from user_p 展开全文
头像 牛客0921
发表于 2022-06-01 20:29:55
利用group by  实现去重目的,代码如下: select university from user_profile group by university;
头像 DraonAbyss
发表于 2021-09-27 22:56:29
知识 消除取值相同的记录 例4.在成绩表中查询有哪些学生修了课程,要求列出学生的学号。 SELECT 学号 FROM 成绩表 结果中有重复的行。用DISTINCT关键字可以去掉结果中的重复行。DISTINCT关键字放在SELECT词的后边、目标列名序列的前边。 SELECT DISTINCT 学号 展开全文
头像 牛客308606816号
发表于 2021-11-25 21:39:15
我们发现,在题目要求里面存在只有一个“北京大学”的信息,所以在输入语句的时候,就要考虑去重,这时我们考虑group by 来去重;所以查询语句为:select university from user_profile group by university 。 这样就把查询的重复的语句给去重了。
头像 哈哈猿
发表于 2023-01-31 22:43:34
select university from user_profile group by university; 二:通过distinct去重select distinct university from user_profile ;
头像 我的世界01号
发表于 2021-11-17 09:56:45
diistinct 1.使用distinct时要注意列名要在distinct的后面 2.而使用聚合函数时,则是在count[distinct<列名>]语法 3.切记
头像 郭怀朝
发表于 2021-10-15 15:00:14
去重查询DISTINCT 要放到列名的前面 SELECT DISTINCT university FROM user_profile;
头像 高非凡
发表于 2021-12-02 10:07:33
一般distinct就可以,运行时间:53ms,占用内存:7544kb 其实group by也可以,运行时间:38ms,占用内存:6740kb #SELECT DISTINCT university from user_profile SELECT university FROM user_prof 展开全文
头像 1234456789号
发表于 2022-10-20 21:46:18
两种思路: 1、用distinct关键字,select distinc 字段 from 表 2、用 group by 关键字,select 字段 from 表明group by 字段