資料庫有相同資料時,如何去重後取最新的一條資料

2022-07-09 23:51:11 字數 1428 閱讀 8072

1,先講一下需求,資料庫中有相同的資料,只取最新插入的一條資料

目前只有這一種方法,還請大神多多指點其他的方法。。。。

#可行的方法

2,這點就比較坑,

分組後,確實取的第一條,但是!!!!排序之後再分組就不取第一條!!!!

#不可行的方法

還在網上看到了一種拼接的方法,但是不太符合我的需求,一併整理

1.查詢出分組的所有按時間降序的記錄id並拼接

--

查詢出分組的所有按時間降序的記錄id並拼接

select group_concat(id order

by `time` desc) from user_position group

by userid

2.查詢每個分組中時間最新的那條記錄的id

--

查詢每個分組中時間最新的那條記錄的id

select substring_index(group_concat(id order

by `time` desc),'

,',1) from user_position group

by userid

下面有怎麼用拼接函式的一篇部落格,不會用group_concat的可以瀏覽一下:

資料庫去重

資料庫資料去重方法 假設現在資料庫中有乙個人員表 user 表中包括 主鍵id,姓名name 身份證號碼id number等字段。由於程式的的原因,後來發現表中有許多理論上重複的資料 例如姓名 和身份證號相同的資料 現在要求根據身份證號碼和姓名去除表中的重複資料。select max id from...

sql資料庫去重語法 SQL如何去重?

展開全部 1 首先建立乙個臨時表,用於演示sqlserver語法中的去重關鍵字distinct的使用。本文以sqlserver資料庫為例演示,62616964757a686964616fe4b893e5b19e31333431373232 if object id tempdb.tmp1 is no...

資料庫資料去重方法

1.2個結果進行union 時,也可以去重 2.group by 也可以去重 below is a reprint of others 假設現在資料庫中有乙個人員表 user 表中包括 主鍵id,姓名 身份證號碼 等字段。由於程式的的原因 好來發現表中有許多理論上重複的資料 即姓名 和身份證號相同的...