mysql - 查询差异
问题描述
我有两张桌子:
表 1:id,已创建
表 2:id、modi
+------------+----------+
| 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
问题是除了第一个条目之外,它还包括第二个条目(或更多),但我只希望包含第一个条目。
谢谢。
解决方案
只需在查询中添加一个左连接。:)
推荐阅读
- mongodb - 在 kali linux 中安装 mongodb 时,我在 apt-get 中遇到错误
- php - 尽管我调用了补丁方法'@method('PATCH')',但修改按钮不起作用,我想显示文档但它没有出现
- javascript - javascript在循环后不起作用它在while和for中都是一样的
- matplotlib - 排序子图中的标签,使用 fig.add_axes 创建
- java - 如何处理 Mallet 中 cmd 行中的空格?
- android - 如何为 Android Studio 制作 SDK 位置
- php - 单击按钮时如何仅更新 1 行而不是所有行
- mysql - MySql 8.0.15 安装失败 Invalid Server Template
- c++ - 将 C++ 方法参数转换为模板参数失败并出现编译错误
- javascript - 语义 UI 日历模式不弹出