mysql技巧之資料去重並記錄總數

2021-08-02 17:12:05 字數 863 閱讀 2633

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 ;

mysql之資料去重並記錄總數

引用 1 使用distinct去重 適合查詢整張表的總數 有多個學校 教師投稿,需要統計出作者的總數 select count author as total from files 每個作者都投稿很多,這裡有重複的記錄。select distinct author from files 有可能兩個學...

mysql去重欄位 mysql多字段去重,並計數

問 題 mysql版本5.5.42 有兩個表,表結構與資料如下 1 goods表 create table goods id int 10 unsigned not null,product varchar 180 collate utf8mb4 unicode ci not null,size v...

C 黔驢技巧之去重(Distinct)

關於c 中預設的distinct方法在什麼情況下才能去重,這個就不用我再多講,針對集合物件去重預設實現將不再滿足,於是乎我們需要自定義實現來解決這個問題,接下來我們詳細講解幾種常見去重方案,孰好孰歹自行判之。首先給出我們需要用到的物件,如下 public class person public in...