今天在進行資料處理的時候需要去除重複的資料,使用distinct十分便捷,所以做一下說明。
1、注意事項
使用distinct命令時需要放在查詢條件的開頭,否則會報錯。如果需要查詢的專案很多但只針對某乙個字段使用distinct的,則可以利用內容拼接的方式來實現。
2、一般用法
以下為使用的基礎資料表
idname
age1
張三202李四
213王五214趙六
205張三226李四
21
--基本查詢
select
distinct
`name`
from users;
--顯示結果
name
張三李四
王五趙六
--多表查詢
select
distinct name,age from users;
--顯示結果(此處distinct的條件是name和age兩個字段,也就是只有兩個都重複了才進行篩選。)
--此處去除了李四 | 21
name | age
張三 | 20
李四 | 21
王五 | 21
趙六 | 20
張三 | 22
3、其他用法
--在count中使用distinct
select
count(distinct name,age) from users;
--顯示結果
5--如果只處理name欄位,但是查詢顯示name和age,則建議使用group by命令
--(單用distinct不好實現)
select name, age from users group
by name;
--顯示結果
name | age
張三 | 20
李四 | 21
王五 | 21
趙六 | 20
--!!注意:如果sql語句還有limit,order by等條件,必須放在group by後面。
mysql中去除富文字欄位中的html標籤
1.首先遇到這個需求比較冷門所以特地在此記錄下 第一步 建立儲存過程 set global log bin trust function creators 1 drop function ifexists fnstriptags delimiter create function fnstripta...
Oracle中去除重覆記錄的方法
參考 1 使用distinct關鍵字 1 建立臨時表 2create table t 1 temp as select distinct from t 1 t 3 截斷表4 truncate table t 1 5 將臨時表的資料插入到本表 6insert into t 1 select from ...
使用正則匹配去除重複字段
正規表示式這個語法以簡單高效著稱,但是有一點i就是比較複雜。近期有個功能需要去除字串中重複的部分,由於使用正常的傳統的那種舒服拆分成陣列在乙個乙個匹配的方式感覺有點效率過低浪費效能,於是便想到了正規表示式來匹配重複的字串,並利用string自導的replaceall方法來將相應的字串給刪除掉。目標字...