首页 > 解决方案 > 查询差异

问题描述

我有两张桌子:

+------------+----------+
|    id      | created  |
+------------+----------+
|    1       | 18/01/01 |
|    2       | 18/01/01 |
|    3       | 18/01/01 |
|    4       | 18/01/01 |
+------------+----------+  
+------------+----------+
|    id      | modi     |
+------------+----------+
|    1       | 18/01/02 |
|    4       | 18/01/02 |
|    1       | 18/01/03 |
|    2       | 18/01/03 |
|    3       | 18/01/04 |
|    2       | 18/01/04 |
|    2       | 18/01/05 |
+------------+----------+   

我需要一个查询(MySQL),它打印出每个用户修改日志需要多少天,按天分组。例如,1 天 - 3 个用户,2 天 - 7 个用户,等等......

+------------+----------+
|    days    | num_id   |
+------------+----------+
|    1       | 2        |
|    2       | 1        |
|    3       | 1        |
+------------+----------+

我设法做到了:

select datediff(table1.id, table2.modi) as date_diff, count(*) as nums
from table1, table2
where table1.id = table2.id
group by date_diff

问题是除了第一个条目之外,它还包括第二个条目(或更多),但我只希望包含第一个条目。

谢谢。

标签: mysqlsql

解决方案


只需在查询中添加一个左连接。:)


推荐阅读