最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql去重查詢的三種方法小結(jié)

 更新時(shí)間:2023年03月28日 16:23:16   作者:小馬穿云  
本文主要介紹了mysql去重查詢的三種方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

數(shù)據(jù)庫(kù)生成環(huán)境中經(jīng)常會(huì)遇到表中有重復(fù)的數(shù)據(jù),或者進(jìn)行關(guān)聯(lián)過(guò)程中產(chǎn)生重復(fù)數(shù)據(jù),下面介紹三種剔除重復(fù)數(shù)據(jù)的方法,請(qǐng)針對(duì)自己的應(yīng)用場(chǎng)景選擇使用。

一、插入測(cè)試數(shù)據(jù)

下圖測(cè)試數(shù)據(jù)中user_name為lilei、zhaofeng的用戶是重復(fù)數(shù)據(jù)。

二、剔除重復(fù)數(shù)據(jù)方法

1.方法一:使用distinct

代碼如下(示例):

select distinct user_name,email,address from t_user;

如下圖,已將數(shù)據(jù)剔重,重復(fù)數(shù)據(jù)僅保留1條。

2.方法二:使用group by

SELECT user_name,email,address 
	FROM t_user 
	GROUP BY user_name, email, address;

如下圖,已將數(shù)據(jù)剔重,重復(fù)數(shù)據(jù)僅保留1條。

3.方法三:使用開窗函數(shù)

(1)如果你的數(shù)據(jù)庫(kù)是MySQL8以上版本你可以直接使用開窗函數(shù)row_number()

SELECT *
FROM(
    SELECT t.*, 
           ROW_NUMBER() OVER(PARTITION BY user_name
           ORDER BY last_login DESC) rn
    FROM table AS t
	) AS t_user
WHERE rn = 1;

(2)如果你的數(shù)據(jù)庫(kù)版本低于MySQL8,使用類row_number()方法

select user_name, email, address 
from (
	select 
		b.*,
		@rownum := @rownum+1 ,-- 定義用戶變量@rownum來(lái)記錄數(shù)據(jù)的行號(hào)
		if(@pdept=b.user_name,@rank:=@rank+1,@rank:=1) as rank,-- 如果當(dāng)前分組user_name和上一次分組user_name相同,則@rank(對(duì)每一組的數(shù)據(jù)進(jìn)行編號(hào))值加1,否則表示為新的分組,從1開始
		@pdept:=b.user_name -- 定義變量@pdept用來(lái)保存上一次的分組id
	from (select * from t_user) b ,
		(select @rownum :=0 , @pdept := null ,@rank:=0) c  -- 初始化自定義變量值
	order by b.user_name,b.last_login desc -- 該排序必須,否則結(jié)果會(huì)不對(duì)
) result
where rank = 1;

如下圖,已將數(shù)據(jù)剔重,重復(fù)數(shù)據(jù)僅保留1條。

總結(jié)

到此這篇關(guān)于mysql去重查詢的三種方法小結(jié)的文章就介紹到這了,更多相關(guān)mysql去重查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql?事務(wù)解析

    mysql?事務(wù)解析

    這篇文章主要給大家分享的是mysql事務(wù)解析,事務(wù)(transaction)是業(yè)務(wù)邏輯的一個(gè)基本的單元組成,下面文章圍繞mysql事務(wù)的相關(guān)資料展開詳細(xì)內(nèi)容,需要的朋友可以參考一下希望對(duì)大家有所幫助
    2021-11-11
  • 批量清除128組節(jié)點(diǎn)db上面過(guò)期的binlog釋放磁盤空間實(shí)現(xiàn)思路

    批量清除128組節(jié)點(diǎn)db上面過(guò)期的binlog釋放磁盤空間實(shí)現(xiàn)思路

    在 一臺(tái)db跳轉(zhuǎn)機(jī)上面, 寫一個(gè)腳本,訪問(wèn)slave,遠(yuǎn)程獲取正在復(fù)制的master上面的binlog位置, 然后再遠(yuǎn)程去purge master上面的binlog
    2013-06-06
  • mysql limit分頁(yè)優(yōu)化詳細(xì)介紹

    mysql limit分頁(yè)優(yōu)化詳細(xì)介紹

    MySQL最常用也最需要優(yōu)化的就是limit,MySQL的limit給分頁(yè)帶來(lái)了極大的方便,但數(shù)據(jù)量一大的時(shí)候,limit的性能就急劇下降,需要的朋友可以參考下
    2016-12-12
  • Mysql中的排序規(guī)則utf8_unicode_ci、utf8_general_ci的區(qū)別總結(jié)

    Mysql中的排序規(guī)則utf8_unicode_ci、utf8_general_ci的區(qū)別總結(jié)

    Mysql中utf8_general_ci與utf8_unicode_ci有什么區(qū)別呢?在編程語(yǔ)言中,通常用unicode對(duì)中文字符做處理,防止出現(xiàn)亂碼,那么在MySQL里,為什么大家都使用utf8_general_ci而不是utf8_unicode_ci呢?
    2014-04-04
  • 詳解MySQL中InnoDB的存儲(chǔ)文件

    詳解MySQL中InnoDB的存儲(chǔ)文件

    本篇是一篇關(guān)于MySQL專題知識(shí)點(diǎn)的內(nèi)容,詳細(xì)講述了InnoDB的存儲(chǔ)文件的相關(guān)內(nèi)容,感興趣的朋友學(xué)習(xí)下。
    2018-02-02
  • MySql5.6使用validate password 插件加強(qiáng)密碼強(qiáng)度的安裝及使用方法

    MySql5.6使用validate password 插件加強(qiáng)密碼強(qiáng)度的安裝及使用方法

    在mysql5.6中使用validate password插件加強(qiáng)密碼強(qiáng)度,支持密碼的強(qiáng)度要求,是一款非常好用的密碼加強(qiáng)插件,下面小編通過(guò)本文給大家介紹MySql5.6使用validate password 插件加強(qiáng)密碼強(qiáng)度的安裝及使用方法,小伙伴們一起學(xué)習(xí)吧
    2016-07-07
  • MySQL 復(fù)制表的方法

    MySQL 復(fù)制表的方法

    這篇文章主要介紹了MySQL 復(fù)制表的方法,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • 詳解mysql中explain的type

    詳解mysql中explain的type

    這篇文章主要介紹了mysql中explain的type的相關(guān)資料,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-11-11
  • MySQL查詢優(yōu)化:連接查詢排序淺談

    MySQL查詢優(yōu)化:連接查詢排序淺談

    不知道有沒(méi)有人碰到過(guò)這樣惡心的問(wèn)題:兩張表連接查詢并limit,SQL效率很高,但是加上order by以后,語(yǔ)句的執(zhí)行時(shí)間變的巨長(zhǎng),效率巨低。下邊就來(lái)看看這個(gè)問(wèn)題需要如何解決
    2013-02-02
  • zabbix監(jiān)控MySQL的兩種方式(最全)

    zabbix監(jiān)控MySQL的兩種方式(最全)

    Zabbix是一款開源的企業(yè)級(jí)監(jiān)控系統(tǒng),它主要用于網(wǎng)絡(luò)監(jiān)視、性能分析以及故障報(bào)警,管理員可以通過(guò)Zabbix Web界面設(shè)置監(jiān)控規(guī)則、圖形化展示數(shù)據(jù),本文給大家介紹了zabbix監(jiān)控MySQL的兩種方式,需要的朋友可以參考下
    2024-08-08

最新評(píng)論

衡阳县| 偃师市| 黄大仙区| 临沭县| 抚顺县| 利津县| 榕江县| 肥乡县| 勃利县| 闵行区| 长宁区| 东平县| 波密县| 台湾省| 鲁甸县| 榕江县| 霍山县| 鄂州市| 北海市| 宿迁市| 浠水县| 承德县| 石屏县| 元谋县| 阿尔山市| 寻甸| 苍溪县| 石门县| 武宁县| 临江市| 台山市| 东乌珠穆沁旗| 阿拉善盟| 贵南县| 浙江省| 焦作市| 喜德县| 礼泉县| 灌云县| 宁化县| 青川县|