MySQL -如何在最小/最大日期差异超过3年的情况下选择id
16lz
2021-01-22
I have a table like this:
我有一张这样的桌子:
| id | date | user_id |
----------------------------------------------------
| 1 | 2008-01-01 | 10 |
| 2 | 2009-03-20 | 15 |
| 3 | 2008-06-11 | 10 |
| 4 | 2009-01-21 | 15 |
| 5 | 2010-01-01 | 10 |
| 6 | 2011-06-01 | 10 |
| 7 | 2012-01-01 | 10 |
| 8 | 2008-05-01 | 15 |
I’m looking for a solution how to select user_id where the difference between MIN and MAX dates is more than 3 yrs. For the above data I should get:
我正在寻找一个解决方案,如何选择user_id,其中最小日期和最大日期的差异大于3年。对于上述资料,我应取得:
| user_id |
-----------------------
| 10 |
Anyone can help?
任何人都可以帮忙吗?
4 个解决方案
#1
5
SELECT user_id
FROM mytable
GROUP BY user_id
HAVING MAX(`date`) > (MIN(`date`) + INTERVAL '3' YEAR);
Tested here: http://sqlize.com/MC0618Yg58
测试在这里:http://sqlize.com/MC0618Yg58
更多相关文章
- PHP MYSQL 出现中文乱码的解决方案
- Amoeba for MySQL---分布式数据库Proxy解决方案
- MySQL数据库导入或者同步大量数据时数据丢失解决方案
- 关于mysql 和Oracle的一大堆麻烦问题的解决方案
- 关于mysql无法添加中文数据的问题以及解决方案
- 你可以在android webview中自动链接日期吗?
- 函数的作用是:在javascript中将时间戳转换为人工日期
- 寻找解决方案,以每100速率1显示div随机而不创建其他div
- 从服务器(任何服务器)获取当前日期和时间。仅限javascript