常用sql語句集錦
阿新 • • 發佈:2018-12-07
- 檢查重複記錄
select count(f_uid) num, f_uid from t_crm_user group by f_uid having count(f_uid) > 1 order by num desc
- 刪除重複記錄並保留id最大的一條記錄
DELETE FROM t_crm_user where f_uid IN ( SELECT f_uid from ( SELECT f_uid FROM t_crm_user GROUP BY f_uid HAVING count(f_uid) > 1 ) a ) AND
- 獲取分組後每組的前三條資料
Mysql
Oracle-- 效率比較慢 select a.* from ( select t1.*,(select count(*)+1 from 表 where 分組欄位=t1.分組欄位 and 排序欄位<t1.排序欄位) as group_id from 表 t1 ) a where a.
SELECT t.* FROM (SELECT ROW_NUMBER() OVER(PARTITION BY 分組欄位 ORDER BY 排序欄位 DESC) rn, b.* FROM 表 b) t WHERE t.rn <= 3 ;