0
我在数据库中使用两个表。这些表是这样的:Mysql加入查询
表A:
id | date
----------------------
12001 | 2011-01-01
13567 | 2011-01-04
13567 | 2011-01-04
11546 | 2011-01-07
13567 | 2011-01-07
18000 | 2011-01-08
表B:
user | date | amount
----------------------------------
15467 | 2011-01-04 | 140
14568 | 2011-01-04 | 120
14563 | 2011-01-05 | 140
12341 | 2011-01-07 | 140
18000 | 2011-01-08 | 120
我需要一个查询,将连接这两个表。
第一个查询应该导致表A中按用户分组的用户总数以及按日期分组的表A中唯一用户的数量。该查询看起来像:
SELECT COUNT(DISTINCT id) AS uniq, COUNT(*) AS total, format_date(date, '%Y-%m-%d') as date FROM A GROUP BY date
从第二张表格,我需要按日期分组的量的总和。 该查询看起来像:
SELECT SUM(amount) AS total_amount FROM B GROUP BY DATE_FORMAT(date, '%Y-%m-%d')
我想要做的就是这两个查询合并成一个上栏“日期”,并作为一个结果,我得到以下列表:
date | unique | total | amount
-----------------------------------------------
2011-01-01 | 1 | 1 | 0
2011-01-04 | 1 | 2 | 260
2011-01-05 | 0 | 0 | 140
2011-01-07 | 2 | 2 | 140
2011-01-08 | 1 | 1 | 120
我如何使用一个查询来做到这一点? 感谢您的所有建议。