mysql - 使用 MYSQL 计算同一列与组中的许多日期之间的时间
解决方案
这是你将如何做到这一点,你可以使用dense_rank()
MySQL 8.0
select t1.id, t1.order_date
, ifnull(
datediff(cast(t1.order_date as datetime), cast(t2.order_date as datetime))
,0) as intrval
from (
select dense_rank() over (partition by id order by cast(order_date as datetime) asc) as rnk
, order_date, id
from table1) as t1
left join
(
select dense_rank() over (partition by id order by cast(order_date as datetime) asc) as rnk
, order_date, id
from table1) as t2
on t1.id = t2.id and t2.rnk+1 = t1.rnk
输出:
推荐阅读
- version-control - 哪些版本控制系统适用于 Launchable?
- discord.js - 有人可以帮助我处理 discord.js 表情吗?
- python - 使用 NumPy 和 matplotlib 绘制的图表上未显示某些点
- c++ - 线程终止后会发生什么
- c# - .stl 文件下载未打开或损坏
- javascript - 如何处理“你确定吗?” Electron 中的弹出窗口
- regex - 正则表达式过度拆分,如何限制拆分字符
- mysql - 根据上一列添加另一个不同的列
- python - 从另一个类 kivy 的 TextInput 获取数据
- sql - Spark SQL 爆炸引用