SELECT MAX(streak) AS streak FROM ( SELECT `datetime`, DATEDIFF(NOW(), `datetime`), @streak := IF( DATEDIFF(NOW(), `datetime`) - @days_diff > 1, @streak, IF(@days_diff := DATEDIFF(NOW(), `datetime`), @streak+1, @streak+1)) AS streak FROM user_session CROSS JOIN (SELECT @streak := 0, @days_diff := -1) AS vars WHERE user_id = 1 AND `datetime` <= NOW() ORDER BY `datetime` DESC) AS t OR SELECT MAX(streak) AS streak FROM ( SELECT `datetime`, DATEDIFF(NOW(), `datetime`), @streak := IF( DATEDIFF(NOW(), `datetime`) - @days_diff > 1, @streak, IF(@days_diff := DATEDIFF(NOW(), `datetime`), @streak+1, @streak+1)) AS streak FROM user_session CROSS JOIN (SELECT @streak := 0, @days_diff := 1) AS vars WHERE user_id = 1 AND `datetime` <= NOW() ORDER BY `datetime` DESC) AS t
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter