2017-07-04 38 views
0

表1:蜂巢算上另一个表匹配的行数

| ID | Timestamp 
| 1 | 1970 
| 2 | 1971 

表2:

| Timestamp | 
| 1970  | 
| 1970  | 
| 1970  | 
| 1971  | 
| 1971  | 

我怎么能执行加入这样的表,我得到的查询:

| ID | Timestamp | Count 
| 1 | 1970  | 3 
| 2 | 1971  | 2 

基本上join on timestamp但只能得到一个计数?

回答

0
select t1.ID 
     ,t1.`Timestamp` 
     ,coalesce (t2.`Count`,0) as `Count` 

from Table1 t1 

     left join (select  `Timestamp` 
           ,count(*) as `Count` 
        from  Table2 
        group by `Timestamp` 
        ) t2 

     on   t2.`Timestamp` = t1.`Timestamp` 

+----+-----------+-------+ 
| id | timestamp | count | 
+----+-----------+-------+ 
| 1 |  1970 |  3 | 
| 2 |  1971 |  2 | 
+----+-----------+-------+