• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    SQL如何獲取不重復的數據,去重后的數據行數

    利用SQL在對數據做統計闡發的時辰,經常需要對數據進行過濾,篩選出不反復的記實,以及統計不反復的記實行數,那么,該若何實現呢?

    方式/步調

    1. 1

      建立一個姑且表,用于演示sqlserver語法中的去重關頭字distinct的利用。本文以sqlserver數據庫為例演示

      IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1; 

      CREATE TABLE #tmp1(

          Col1 varchar(50),        

          Col2 int        

      );

    2. 2

      往姑且表中插入幾行測試數據,用于演示distinct的利用

      insert into #tmp1(Col1, Col2) values('Code10', 10);

      insert into #tmp1(Col1, Col2) values('Code20', 20);

      insert into #tmp1(Col1, Col2) values('Code10', 10);

      insert into #tmp1(Col1, Col2) values('Code5', 20);

    3. 3

      查詢姑且表中所有的測試數據

      select * from #tmp1;

    4. 4

      利用distinct查詢出整個表所有字段值不反復的記實

      select distinct * from #tmp1 

    5. 5

      distinct除了過濾整個表不反復的記實之外,還可以對指心猿意馬列去反復,多個列利用逗號分隔即可

      select distinct Col1 from #tmp1; 

      select distinct Col1, Col2 from #tmp1; 

    6. 6

      若是想返回姑且表中Col1列不反復的記實行數,該若何書寫sql語句呢?利用下面的sql,從運行成果來看,并沒有達到預期的結果

      select distinct count(Col1) from #tmp1;

    7. 7

      試著把distinct和count互換一個位置,sql語句執行會怎么樣呢?從運行成果可以看出,這樣寫就可以達到預期的結果,Col1列的不反復行數準確的返回了

      select count(distinct Col1) from #tmp1;

    • 發表于 2019-05-12 20:54
    • 閱讀 ( 1863 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆