sql 刪除重複或查詢某個字段相同最新記錄

2021-10-09 03:47:20 字數 529 閱讀 5009

例如tablea表中有如3個字段:id、typeid、name、adddate,記錄特徵是:當有多個記錄有相同typeid值時。

1、每個typeid值保留一條最新的記錄,即刪除同乙個typeid的非最新記錄

delete  from  tablea a

where 1=1  and exists(select '' from tablea b where b.typeid=a.typeid and b.adddate>=a.adddate and b.id>a.id);

2、不刪除,查詢每個typeid最新的記錄列表

select *  from  tablea  a     

where 1=1  

and not exists(select '' from tablea  b where b.typeid=a.typeid and b.adddate >=a.adddate and b.id>a.id)

order by a.adddate desc;

總結:關鍵在於子查詢的條件與exists語句。

sql 查詢某個字段出現的次數

表名隨便起個 testtable 那麼有這麼乙個需求,利用你所學的sql語句 單錶查詢出下表的結果 也就是統計某個時間某個值出現的次數其實一開始我是很懵,畢竟之前也沒做過,只能怪自己學得太淺了。過後我也查了一些資料 終於解決這個疑惑,直接上sql語句select datetime sum name ...

sql 查詢某個字段最長的記錄

sql 查詢文字欄位中值的長度最長的記錄 一 函式 1 sql server len 函式返回文字欄位中值的長度。select len column name from table name 2 mysql length 函式返回文字欄位中值的長度。select length column name...

MYSQL刪除某個字段多餘重覆記錄

sells表資訊 create table sells id int 11 not null auto increment,唯一id name varchar 50 not null,姓名 phone varchar 10 not null,project varchar 50 not null,專...