Preview:
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
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