[英]mysql - count rows from two tables
所以我有這張桌子
登錄
+---------+------------+---------+
| date_id | date_today | user_id |
+---------+------------+---------+
| 1 | 2017/03/19 | 16 |
| 2 | 2017/03/20 | 17 |
| 3 | 2017/03/20 | 12 |
| 4 | 2017/03/21 | 16 |
| 5 | 2017/03/22 | 10 |
| 6 | 2017/03/22 | 11 |
+---------+------------+---------+
file_downloads
+---------+------------+---------+
| date_id | date_today | user_id |
+---------+------------+---------+
| 1 | 2017/03/20 | 17 |
| 2 | 2017/03/20 | 17 |
| 3 | 2017/03/20 | 12 |
| 4 | 2017/03/20 | 17 |
| 5 | 2017/03/20 | 12 |
| 6 | 2017/03/20 | 12 |
| 7 | 2017/03/20 | 12 |
| 8 | 2017/03/20 | 12 |
| 9 | 2017/03/22 | 10 |
| 10 | 2017/03/22 | 10 |
| 11 | 2017/03/22 | 11 |
+---------+------------+---------+
這是我想要的結果:
+------------+-----------+--------+
| date_today | login_num | dl_num |
+------------+---------+----------+
| 2017/03/19 | 1 | 0 |
| 2017/03/20 | 2 | 8 |
| 2017/03/21 | 1 | 0 |
| 2017/03/22 | 2 | 3 |
+------------+-----------+--------+
我還是mysql的新手,所以將不勝感激。 謝謝! :)
我認為最簡單的方法是將union all
group by
union all
並group by
:
select date_today, sum(login) as logins, sum(dl) as dls
from ((select date_today, 1 as login, 0 as dl from log_in
) union all
(select date_today, 0, 1 from file_downloads
)
) lfd
group by date_today;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.