sql - 如何使用 SQL 获取 2 列之间日期差异的计数(值的分布)?
问题描述
希望有人可以提供帮助;我有 2 个可以与列连接的表ID
。
表 1 中有一列created_date
,表 2 中的列是firstorderdate
。我想从创建日期中减去第一个订单日期以获取天数,然后获取理想降序排列的不同值的计数。实际上,我正在尝试查看日期差异的分布。
我创建了一个 SQL fiddle 来帮助显示我的架构可能是什么样子。我的日期列可以包含空值,如果有意义的话,我只对它们都不为空感兴趣。
http://sqlfiddle.com/#!9/9adbca
提前致谢
解决方案
从您提供的 sqlfiddle 假设 MySQL。
SELECT DATEDIFF(t2.FirstOrderDate, t1.created_date) as 'DaysBetween'
, Count(1)
FROM Table1 t1
inner join Table2 t2
on t1.ID = t2.ID
WHERE t2.FirstOrderDate is not null
and t1.created_date is not null
GROUP BY DATEDIFF(t2.FirstOrderDate, t1.created_date)
推荐阅读
- ios - 有没有办法让 iOS 13 的新 TestFlight Screenshot beta 反馈进入 Slack
- amazon-web-services - 在 Terraform 中为价格配置 AWS 自动扩展组?
- linux - 用于从作者列表中生成 url 列表的 Linux 脚本
- html - 如何将类型移动到向下搜索文本?
- mybatis - 像这样的 json 的 xml 映射是什么?
- javascript - JavaScript 计算问题
- php - 当我使用变量而不是硬编码数组时,为什么这个 laravel 测试数据库插入不起作用?
- python - 检测彼此最远的霍夫线?
- python - 将嵌套列表传递给 sklearn 拆分函数
- mql4 - 如何检查其他 EA 是否在 MQL4 中运行?