sql重复数据只取一条记录
id姓名职业1张三学生2李四学生3张三程序员4李四教师5王五小姐要求结果:id姓名职业3张三程序员4李四教师5王五小姐相同姓名的区ID最大的那个...
id 姓名 职业
1 张三 学生
2 李四 学生
3 张三 程序员
4 李四 教师
5 王五 小姐
要求结果:
id 姓名 职业
3 张三 程序员
4 李四 教师
5 王五 小姐
相同姓名的区ID最大的那个 展开
1 张三 学生
2 李四 学生
3 张三 程序员
4 李四 教师
5 王五 小姐
要求结果:
id 姓名 职业
3 张三 程序员
4 李四 教师
5 王五 小姐
相同姓名的区ID最大的那个 展开
6个回答
展开全部
1、SQL SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
语法:
SELECT DISTINCT 列名称 FROM 表名称
使用 DISTINCT 关键词
SELECT DISTINCT Company FROM Orders
2、子查询限制返回结果
SELECT * FROM TestData
WHERE
id IN
(
--根据Data分类获取数据最小ID列表
select min(id) from TestData
group by Data
)
展开全部
select distinct(籍贯) from 学生信息 --去除重复记录 distinct(不相同).查询去除籍贯重复的信息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我还是觉得 这样做好像是错的。
ID 姓名 职业
1 张三 学生
。。。。
3 张三 程序员
首先 ID 这个 应该是主键 不不会 重复的
不管有多少个人 叫张三 ,你的ID都是不同的。你的职业可以相同也可以不相同,难道还能要求人家性别相同或者不相同。就2个性别,人妖我不知道算不算 ,但是加起来 也就三个。
所有 我觉得你现在要搞明白什么可以重复什么不可以重复。
SQL 代码 上面 也有,但是 这个表的查询 有必要吗?
ID 姓名 职业
1 张三 学生
。。。。
3 张三 程序员
首先 ID 这个 应该是主键 不不会 重复的
不管有多少个人 叫张三 ,你的ID都是不同的。你的职业可以相同也可以不相同,难道还能要求人家性别相同或者不相同。就2个性别,人妖我不知道算不算 ,但是加起来 也就三个。
所有 我觉得你现在要搞明白什么可以重复什么不可以重复。
SQL 代码 上面 也有,但是 这个表的查询 有必要吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以姓名为范围,以ID排逆序,取最大值。
with v as (select 姓名, row_number() over (partition by 姓名 order by id desc) as rk, id, 职业
from tableA)
select id,姓名,职业
from v where rk=1
with v as (select 姓名, row_number() over (partition by 姓名 order by id desc) as rk, id, 职业
from tableA)
select id,姓名,职业
from v where rk=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from 表名
where id in
select id from
(
select max(id) as id ,姓名, from 表名 group by 姓名
) as as 表2
where id in
select id from
(
select max(id) as id ,姓名, from 表名 group by 姓名
) as as 表2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询