我有一个包含相似值和日期数的数据集。我正在尝试编写一个sql查询来查找行之间日期的差异,并将另一行中的值相加。该数据集是这样的:查找具有相同值的行之间的日期差异
id | date | value |
1 2015-06-01 10
1 2015-09-22 25
2 2015-12-10 15
2 2015-07-11 20
2 2015-10-18 25
3 2015-04-05 30
3 2015-05-02 45
4 2015-06-01 20
而我想获得的是:
id | date_diff | value
1 42 35
2 149 60
3 27 75
4 0 20
的想法是date_diff发现日期为每个ID之间的区别,并总结了值。但是,date_diff函数不适合我,我认为这可能是第一个问题。 date_diff函数返回此错误:
函数datediff(未知,日期,时间戳无时区)不存在 提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
我正在使用公共数据集,因此可能是问题的一部分。任何帮助或想法都会很棒!
如果id为1的行有3行,会发生什么情况? – mayu
Hi @Tymski理想情况下,我会发现给定ID的最短和最长日期之间的差异。对于ID 1,如果有三行,则date_diff将是最早和最近日期的差异btw,类似于ID 2.谢谢! – NLourme
您正在使用哪些DBMS? –