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排逆序,取最大值。
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