1. 程式人生 > >Sql去重及查詢重複

Sql去重及查詢重複

1、最簡單的是使用distinct,去除所有查詢欄位資訊一樣的資料

---------------------------------------以下為有主鍵的情況下使用

2、 查詢,去重,保留最小id資訊
select * from people where id in (
    select MIN(id) from people group by name,sex)

3、 查詢全部的重複資訊
select * from people where id not in (

    select min(id) from people group by name,sex HAVING COUNT(*) < 2)


4、查詢多餘的重複資訊
select * from people where id not in (

    select MIN(id) from people group by name,sex)


5、刪除多餘重複的資訊,只保留最小ID
delete from people where id not in(
    select MIN(id) from people group by name,sex
)

相關推薦

Sql查詢重複

1、最簡單的是使用distinct,去除所有查詢欄位資訊一樣的資料 ---------------------------------------以下為有主鍵的情況下使用 2、 查詢,去重,保留最小id資訊select * from people where id in

Mysql資料庫中查詢重複資料和資料 , 刪除重複資料的sql分析

資料庫中有重複資料時,用到哪些sql語句? 這裡有若干資料,並摻雜了重複資料 1. 檢視過濾重複後的資料 思路, group by 分組可以對多個列進行分組, 分組後可以過濾掉重複的資料 sql語句: SELECT id,`name`,

陣列,顯示重複的元素個數。

 var arr = ['土豆','土豆','茄子','土豆','茄子','土豆','紫紅色'];     function qc(arr){         var resultObj = {};  

sql 排序 java分頁

+= 顯示 分享圖片 shm search reat ati ima message 一、sql去重排序: 需求,對數據庫數據按mfrom去重(顯示最新數據),並對去重後的數據按mcreated_time進行倒序排列: sql語句為: (1)SELECT * FR

SQL

pre 去重 復數 del nbsp col cnblogs where 記錄 sql去重 現在有一張表t(id,name),id是主鍵,name可以重復,現在要刪除重復數據,保留id最小的數據。請寫出SQL。 表:t id name 1 張三

es6 陣列最大最小值獲取

1.陣列去重 解決方案:使用了ES6新增的set資料解構的去重特性,然後在將生成的set物件轉換成陣列。 <script type="text/javascript"> var arr = [1, 2, 3, 5, 1, 5, 7, 3];var newArray = A

Java遇到需要(去掉重複)的問題怎麼辦

JAVA去重 去掉在List中物件屬性重複的物件 /** * 去重 * 需要去掉學生中分數相同的 */ //建立一個set Set set = new HashSet(); //記錄set的大小 int nowsize = set.size(); /

sql;同一條資料出現多條取一條的sql語句

理論上相同資料個別欄位值不同重複問題: 1.某欄位重複,其他欄位值不同時,按重複欄位分組只取一條的sql語句 (eg:相同的資料某個欄位值有差別導致儲存兩條或多條無意義重複資料的情況)select s.* from (    select a.*, row_number()

java8 stream初試,map排序,list,統計重複元素個數,獲取map的key集合和value集合

//定義一個100元素的集合,包含A-Z List<String> list = new LinkedList<>(); for (int i =0;i<100;i++){

mysql、oracle (資料庫刪除重複資料保留一條)

現在在資料庫中有2對重複資料,2條正常資料,我想要把重複資料都刪掉 講一下思路 根據重複欄位分組,並增加約束條件,查詢出所有的,重複資料的最小id,和重複的屬性 SELECT uname,MIN(uid) FROM tbl_user GROUP BY uname H

python對excel文件求和

廢話不多說,估計只有我這個菜鳥廢了2個小時才搞出來,主要是我想了太多方法來實現,最後都因為這因為那的原因失敗了 間接說明自己對可變與不可變型別的瞭解,還是不夠透徹 最後就用了個笨方法解決了

sql

這個我自己寫的,效率什麼的沒考慮過:DELETE FROM tb_trademarksjaddtype_23 WHERE row not in (SELECT t.row FROM (SELECT row FROM tb_trademarksjaddtype_23 GROUP

給Array實現一個方法,後返回重複的字元

程式碼如下: let arr = [1, 6, 8, 3, 7, 9, 2, 7, 2, 4, 4, 3, 3, 1, 5, 3] Array.prototype.removeDuplication

SQL 不用distinct如何實現?

1、今日面試問到SQL語句去重關鍵字?一時只想起來distinct【果然一定要注意總結啊 答:用distinct關鍵字只能過濾查詢欄位中所有記錄相同的(記錄集相同),而如果要指定一個欄位卻沒有效果,另外distinct關鍵字會排序,效率很低 。  select distin

php二維陣列即去掉重複鍵值的子元素

案例1: Array (     [0] => Array         (             [0] => 2             [1] => 1505622764         )     [1] => Array      

sql 並排序問題

欄位1 欄位2 欄位3 1 a A 2 a B 3 b V 4 b F 5 c O 6 d G 類似上邊的表,現在想去重查

sql和程式碼

最近做專案,兩張表都是百萬資料的表,其中一主一從,客戶要根據主表從從表中獲取一條有效資料,從表資料很多髒資料,開始用sql去重發現速度很慢,後來用程式碼去重了 列表查詢,一般就是幾十條資料,先查出主表id的集合,再根據主表的集合查所有從表資料,程式碼去重的關鍵是,查從表時

List集合物件按屬性的8種方法-java基礎總結系列第六篇

![](https://img2020.cnblogs.com/other/1815316/202009/1815316-20200907102619006-706594727.png) 最近在寫一些關於java基礎的文章,但是我又不想按照教科書的方式去寫知識點的文章,因為意義不大。基礎知識太多了,**如何將

記一次mysql查詢與刪除重複記錄

查詢: select *,id,count(*) as count from artist group by id having count>1; 刪除(刪除order_id值大的): delete from artist where id in( SELECT * from

distinct多列檢查重複資料語句

--去重查詢方法一:根據id select * from sxe where id in(select min(id) from sxe group by username) order by id asc; --去重查詢方法二:根據rownum select * fro