亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SQL去重的3種實用方法總結(jié)

 更新時間:2022年10月26日 09:29:57   作者:1024小神  
SQL去重是數(shù)據(jù)分析工作中比較常見的一個場景,下面這篇文章主要給大家介紹了關(guān)于SQL去重的3種實用方法的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下

SQL去重的三種方法匯總? 

這里的去重是指:查詢的時候, 不顯示重復,并不是刪除表中的重復項

1.distinct去重

注意的點:distinct

只能一列去重,當distinct后跟大于1個參數(shù)時,他們之間的關(guān)系是&&(邏輯與)關(guān)系,只有全部條件相同才會去重

弊端:當查詢的字段比較多時,distinct會作用多個字段,導致去重條件增多

select distinct UserResult from Table1

2.group by去重

去重原理:將重復的行進行分組,相同的數(shù)據(jù)只顯示第一行

弊端:使用group by后,所有查詢字段都需要使用聚合函數(shù),比較繁瑣

select min(UserName)UserName,min(UserSex)UserSex,min(UserSubject)UserSubject,min(UserResult)UserResult from Table1
group by UserResult

3.row_number() over (parttion by 分組列 order by 排序列)

弊端:小孟還不知道

去重原理:現(xiàn)根據(jù)重復列進行分組,分組后再進行排序,不同的組序號為1,相同的組序號為2,排除為2的就達到了去重效果

select *from
(
--查詢出重復行
select *,row_number() over (partition by UserResult order by UserResult desc)num from Table1
)A
where A.num=1

這里安利第三個,row_number(),穩(wěn)一些!

補充:SQL根據(jù)某列或幾列分組去重——row_number() over(partition by)的用法

有時利用SQL進行數(shù)據(jù)處理會發(fā)現(xiàn),要根據(jù)某列或某幾列選取信息,由于其他列不同而出現(xiàn)了多次,如運行程序1的結(jié)果圖1:

程序1:

--程序1:要解決的問題
select a.*
  from AShareEarningEst a
 where a.S_INFO_WINDCODE in ('000650.SZ')
   and a.REPORTING_PERIOD = 20181231
order by a.RESEARCH_INST_NAME,a.EST_DT

我們看到,在AShareEarningEst(中國A股盈利預測明細)表中,共有12人次的證券公司研究員,對000650.SZ(仁和藥業(yè))公司的20181231報告期進行預測。例:華泰證券的楊燁輝在20160420、20160428和20160622分別對000650.SZ(仁和藥業(yè))發(fā)布研究報告進行了預測?,F(xiàn)在,我們只需要同一家證券公司的同一個研究員(此處假定同一家證券公司的研究員姓名相同時,即為同一個研究員)做出的最新預測數(shù)據(jù),即根據(jù)證券公司名稱、研究員姓名,同時根據(jù)估計日期進行篩選。

此時,可根據(jù)row_number() over(partition by)進行處理,運行程序2結(jié)果如圖2:

程序2:

--程序2:最終解決問題的程序
select b.*
from (select row_number() over(partition by a.RESEARCH_INST_NAME,
              a.ANALYST_NAME order by est_dt desc) as rn,
             --根據(jù)RESEARCH_INST_NAME(證券公司名稱)和ANALYST_NAME(研究員名字)進行分類,
             --同時根據(jù)est_dt(估計日期)倒序排序,即最新日期排在同一分類的上方,此時構(gòu)建出rn為
             a.*
        from wdzx.AShareEarningEst a
       where a.S_INFO_WINDCODE in ('000650.SZ') --, '000951.SZ', '600006.SH', '600166.SH')
         and a.REPORTING_PERIOD = 20181231) b --將分類后的程序構(gòu)成表b??梢韵冗\行b的程序觀察結(jié)果
       where b.rn = 1--運用表b的結(jié)果進行子查詢,rn=1即為所需結(jié)果

此時,即主要利用了row_number() over(partition by)函數(shù)篩選出了去重后的結(jié)果。

總結(jié)

到此這篇關(guān)于SQL去重的3種實用方法的文章就介紹到這了,更多相關(guān)SQL去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MYSQL事務(wù)回滾的2個問題分析

    MYSQL事務(wù)回滾的2個問題分析

    在事務(wù)中,每個正確的原子操作都會被順序執(zhí)行,直到遇到錯誤的原子操作,此時事務(wù)會將之前的操作進行回滾?;貪L的意思是如果之前是插入操作,那么會執(zhí)行刪 除插入的記錄,如果之前是update操作,也會執(zhí)行update操作將之前的記錄還原
    2014-05-05
  • mysql中的保留字段產(chǎn)生的問題

    mysql中的保留字段產(chǎn)生的問題

    我們在使用mysql的時候要注意這方面的問題,一個因為數(shù)據(jù)庫字段命名不當造成的問題檢查起來還是相當麻煩的,今天遇到這種問題,花費了很長時間才找到問題所在,這是無語
    2015-04-04
  • 查找MySQL線程中死鎖的ID的方法

    查找MySQL線程中死鎖的ID的方法

    這篇文章主要介紹了查找MySQL線程中死鎖的ID的方法,文中介紹的方法主要是從數(shù)據(jù)字典里查找,需要的朋友可以參考下
    2015-05-05
  • Linux 安裝JDK Tomcat MySQL的教程(使用Mac遠程訪問)

    Linux 安裝JDK Tomcat MySQL的教程(使用Mac遠程訪問)

    這篇文章主要介紹了Linux 安裝JDK Tomcat MySQL(使用Mac遠程訪問),本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • mysql中找不到my.ini文件的問題及解決

    mysql中找不到my.ini文件的問題及解決

    這篇文章主要介紹了mysql中找不到my.ini文件的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 深入理解MySQL重做日志 redo log

    深入理解MySQL重做日志 redo log

    redo log:被稱為物理日志,記錄的就是最終修改后的按頁面存儲的數(shù)據(jù)頁,直接存數(shù)據(jù)最終的狀態(tài),用于確保事務(wù)的持久性,本文主要介紹了MySQL重做日志 redo log,感興趣的了解一下
    2022-04-04
  • Windows 下 MySQL 8.X 的安裝教程

    Windows 下 MySQL 8.X 的安裝教程

    這篇文章主要介紹了Windows 下 MySQL 8.X 的安裝教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • SQL實現(xiàn)數(shù)據(jù)過濾流程詳解

    SQL實現(xiàn)數(shù)據(jù)過濾流程詳解

    這篇文章主要介紹了SQL實現(xiàn)數(shù)據(jù)過濾流程,當我們在SQL中查詢數(shù)據(jù)時,肯定是有一些數(shù)據(jù)是我們不需要的,所以我們此時就要對數(shù)據(jù)進行過濾,以篩選出我們僅需要的數(shù)據(jù)
    2023-01-01
  • 詳解記錄MySQL中l(wèi)ower_case_table_names的坑

    詳解記錄MySQL中l(wèi)ower_case_table_names的坑

    這篇文章主要介紹了詳解記錄MySQL中l(wèi)ower_case_table_names的坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • MySQL5綠色版windows下安裝總結(jié)(推薦)

    MySQL5綠色版windows下安裝總結(jié)(推薦)

    這篇文章主要介紹了MySQL5綠色版windows下安裝總結(jié),需要的朋友可以參考下
    2017-03-03

最新評論