book表中的数据:
在这里插入图片描述
根据所有字段去重:

SELECT DISTINCT * from dbo.book 

sql根据多个字段去重:

SELECT title,isbn,author_id ,page_count  from dbo.book 
group by title,isbn,author_id ,page_count
 

或者:
SELECT DISTINCT title,isbn,author_id ,page_count from dbo.book
在这里插入图片描述
sql根据多个字段去重,并且返回所有字段:


SELECT * from dbo.book a where id in (SELECT max(id) from dbo.book 
group by title,isbn,author_id ,page_count )

如果数据量比较大的话in会有效率问题,可以采用以下写法

SELECT a.* from dbo.book a , (SELECT max(id) as id from dbo.book 
group by title,isbn,author_id ,page_count )b where a.id = b.id

在这里插入图片描述
有问题欢迎指正

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐