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

SQL中去除重復(fù)數(shù)據(jù)的幾種方法匯總(窗口函數(shù)對數(shù)據(jù)去重)

 更新時間:2023年05月05日 15:26:55   作者:Python數(shù)據(jù)開發(fā)  
以某電商公司的銷售報表為例,常見的去重方法我們用到distinct 或者group by 語句, 今天介紹一種新的方法,利用窗口函數(shù)對數(shù)據(jù)去重,感興趣的朋友跟隨小編一起看看吧

使用SQL對數(shù)據(jù)進(jìn)行提取和分析時,我們經(jīng)常會遇到數(shù)據(jù)重復(fù)的場景,需要我們對數(shù)據(jù)進(jìn)行去重后分析。

以某電商公司的銷售報表為例,常見的去重方法我們用到distinct 或者group by 語句, 今天介紹一種新的方法,利用窗口函數(shù)對數(shù)據(jù)去重。

【字段解釋】

訪客id:進(jìn)入店鋪瀏覽寶貝的客戶

瀏覽時間:訪客進(jìn)入店鋪瀏覽頁面的日期

瀏覽時常:訪客進(jìn)入店鋪瀏覽頁面的時長

現(xiàn)在需要知道店鋪里每個訪客和對應(yīng)的瀏覽日期(每個訪客同一天瀏覽多次算做一次記錄)

【解題思路】

方法1:distinct

SQL書寫如下:

select distinct 訪客id ,瀏覽時間 
     from 淘寶日銷售數(shù)據(jù)表;

查詢結(jié)果:

這里用distinct語句多字段進(jìn)行去重的時候,需要特別注意2點:

1)distinct語法規(guī)定對單字段、多字段去重,必須放在第一個查詢字段前。

2)如果對表中多列字段進(jìn)行去重,去重的過程就是將多字段作為整體去重,比如上面的例子,我們將訪客id和瀏覽時間為整體去去重,而不是對訪客id單獨去重后再對姓名單獨去重,所以會出現(xiàn)相同的訪客id對應(yīng)不同的瀏覽時間。

方法2:group by

SQL書寫如下:

select 訪客id ,瀏覽時間
     from 淘寶日銷售數(shù)據(jù)表
group by 訪客id ,瀏覽時間;

查詢結(jié)果:

group by對訪客id 和瀏覽時間進(jìn)行分組,分組匯總后改變了表的行數(shù),一行只有一個類別,這里使用group by后會將訪客id 和瀏覽時間作為一個類別保留,重復(fù)的就會不顯示。

方法3:窗口函數(shù)

使用窗口函數(shù)進(jìn)行去重時,比distinct和group by稍微復(fù)雜些,窗口函數(shù)不會減少原表中的行數(shù),而是對字段進(jìn)行分組后排序。詳細(xì)的窗口函數(shù)講解

窗口函數(shù)的基本語法如下:

<窗口函數(shù)> over (partition by <用于分組的列名>
                order by <用于排序的列名>)

根據(jù)題目要求得出每個訪客和對應(yīng)的瀏覽日期,我們對訪客id ,瀏覽時間進(jìn)行分組,對瀏覽時長(秒)進(jìn)行排序。

SQL書寫如下:

select 訪客id ,瀏覽時間 ,row_number()over(partition by 訪客id ,瀏覽時間
order by 瀏覽時長(秒)) as 排名
     from 淘寶日銷售數(shù)據(jù)表;

查詢結(jié)果:

窗口函數(shù)查詢按照每個客戶和瀏覽日期分組,如果同一天有幾次瀏覽,會根據(jù)點贊數(shù)排序,篩選排名為1,即可得出每個訪客和對應(yīng)的瀏覽日期。

SQL書寫如下:

select 訪客id ,瀏覽時間 ,row_number()over(partition by 訪客id ,瀏覽時間
order by 瀏覽時長(秒)) as 排名
     from 淘寶日銷售數(shù)據(jù)表;

查詢結(jié)果:

去除重復(fù)項的三種操作,你get了嗎?歡迎評論區(qū)補充你的去重辦法~

到此這篇關(guān)于SQL中去除重復(fù)數(shù)據(jù)的幾種方法,我一次性都告你?的文章就介紹到這了,更多相關(guān)sql去除重復(fù)數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

黔江区| 万安县| 瓦房店市| 合肥市| 晋中市| 乌海市| 汶川县| 桂阳县| 威远县| 芷江| 蕲春县| 枞阳县| 白河县| 湛江市| 湘乡市| 喀什市| 内黄县| 清徐县| 南京市| 延川县| 峨边| 沙洋县| 武功县| 鄱阳县| 汽车| 旌德县| 宜良县| 云和县| 五峰| 扶沟县| 法库县| 辉南县| 和平区| 万州区| 南乐县| 遵化市| 东乡族自治县| 福鼎市| 青海省| 定远县| 白朗县|