mysql多張表合並一張表進行查找


  今天有個需求是 mysql多張表合並一張表查詢出該表有多少個userid(去重)。

首先我的思路是,把多張表采用union合並成一張表,然后進行group by, 最后進行sum(userid), 得出數量。

select COUNT(DISTINCT(`user_id`)) 
FROM ( select user_id from log_20160706 union select user_id from log_20160707 union SELECT user_id from log_20160708 UNION SELECT user_id from log_20160709 UNION SELECT user_id from log_20160710 UNION SELECT user_id from log_20160711 UNION SELECT user_id from log_20160712 order by user_id
) as TB // 這里as一定要擴在整段select外面

可以使用,不過如果表數據量大的話,花費時間還是蠻長的。

后來想想還有一種思路,我可以腳本從每張表讀出來,統計出每張表的玩家,然后進行去重(unique)一下。

 


免責聲明!

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



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