mysql count distinct 統計結果去重


1、使用distinct去重(適合查詢整張表的總數)有多個學校+教師投稿,需要統計出作者的總數select count(author) as total from files每個作者都投稿很多,這里有重復的記錄。

select distinct author from files;有可能兩個學校的教師姓名相同,結果只統計一個,出錯。select distinct author,sid from files統計(作者+學校id)的組合唯一值,結果出現正確的結果,但如何知道一共有多少人呢?select count(distinct author,sid) as total from files

2、group by 分組去重(適合根據條件分組后查詢每組的總數)

select author, count(distinct id) from files group by sid

3、記錄兩張表的數目的和,這兩個表分開查詢

SELECT SUM(c) 

FROM

  (SELECT COUNT(DISTINCT from_user_id, message_id) c

  FROM im_message 

  WHERE dr = 0  AND message_status = 2  AND user_type = 1  AND to_user_id = 2 

  UNION ALL 

  SELECT COUNT(DISTINCT group_id, message_id) c

  FROM im_messagerefgroup 

  WHERE dr = 0  AND user_id = 2

  ) 

AS temp ;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM