我输出如下
在上面的代码中,Tx_ID保持不变,但购买第二个条目变为NULL。所以我得到了多行。
现在我必须计算首次购买和第二次购买之间的时差,但TX_ID始终保持不变。
任何建议,非常感谢。
谢谢。
答案 0 :(得分:1)
假设每个Tx_ID只有2个条目,您可以尝试:
flutter
答案 1 :(得分:1)
您可以使用LAG获取之前的值 然后使用它来获得当前记录的差异。
SELECT
t.*,
t.tx_time - LAG(t.tx_time) OVER (PARTITION BY t.tx_id ORDER BY t.tx_time) AS timestamp_diff
FROM YOUR_TABLE t
答案 2 :(得分:1)
以下内容应该在第1次和第2次之间进行比较,以便获得Tx_ID
SELECT tx_id,
Subtract(Max(tx_time),Min(tx_time))
FROM tx_table T1
WHERE tx_time >=
(
SELECT Max(tx_time)
FROM tx_table T2
WHERE tx_time <
(
SELECT Max(tx_time)
FROM tx_table
WHERE
and tx_id = t1.tx_id)
AND tx_id = t1.tx_id)
GROUP BY tx_id
HAVING count(*) > 1