यहाँ चर के बिना एक समाधान है। मुझे लगता है कि आपके पास thetable
. नामक तालिका में आपका initail डेटा है ।
SELECT date, time, ip,
result - IFNULL( (
SELECT MAX( result )
FROM thetable
WHERE ip = t1.ip
AND ( date < t1.date
OR date = t1.date AND time < t1.time )
) , 0) AS diff
FROM thetable AS t1
ORDER BY ip, date, time
यहां हमें उप-चयन के साथ पिछला मान मिलता है (अधिकतम result
उसी ip
. से पिछले टाइमस्टैम्प में से ) IFNULL
हमें 0 देता है यदि यह पहला मान था, इसलिए प्रारंभिक परिणाम सही ढंग से प्रदर्शित होते हैं।
मैं निम्न अनुक्रमणिका को thetable
. में जोड़ने का भी सुझाव देता हूं :
CREATE INDEX sort1 ON thetable (ip, date, time);