LinWenQiang
根据所有字段去重:
SELECT DISTINCT * from dbo.book 


sql根据多个字段去重:
SELECT title,isbn,author_id ,page_count  from dbo.book 
group by title,isbn,author_id ,page_count

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

 

// 去重字段:  AtWork  ,EmployeeNum ;  因为我这AtWork字段 存储的是日期加时间 例如:(2020-02-02 08:02:02) ,所以用 SUBSTRING截取 年月日进行去重了;

SELECT * from [dbo].[SwipeCardData] a where id in (SELECT max(id) from [dbo].[SwipeCardData]group by SUBSTRING([AtWork], 1, 10),EmployeeNum)  and SUBSTRING([AtWork],1,10) >=\'2021-03-02\'and SUBSTRING([AtWork],1,10) <=\'2021-03-02\' order by  SUBSTRING([AtWork],1,10),EmployeeName

 

分类:

技术点:

相关文章:

  • 2021-11-18
  • 2021-08-08
  • 2021-11-18
  • 2021-11-18
  • 2021-11-17
  • 2022-12-23
猜你喜欢
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2021-12-09
  • 2022-12-23
相关资源
相似解决方案