MySql 'оконная функция' и 'DATEDIFF, как использовать?

0

Мне нужно построить запрос для MySQL. Если я использую этот запрос:

SELECT 
    Date, Time, EventId, UserId,
    Date - LEAD(Date) OVER W AS 'diff'
  FROM first
  WINDOW W AS (ORDER BY Date);

все работает. Но мне нужно использовать DATEDIFF(), например:

SELECT      
    Date, Time, EventId, UserId, 
    DATEDIFF(Date, LEAD(Date)) OVER W AS 'diff'
  FROM first
  WINDOW W AS (ORDER BY Date);

но у меня сейчас ошибка:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') OVER W AS 'diff' FROM first WINDOW W AS (ORDER BY Date)' ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') OVER W AS 'diff' FROM first WINDOW W AS (ORDER BY Date)'. Так как же использовать DATEDIFF()?

Ответ:

SELECT 
    Date, Time, EventId, UserId, 
    DATEDIFF(DATE, LEAD(Date) OVER W) AS 'diff' 
  FROM first 
  WINDOW W AS (ORDER BY Date);
  • 3
    Хорошо ответить на свой вопрос, но вы должны опубликовать часть ответа как ответ и принять его, чтобы его считали «отвеченным» в отношении переполнения стека.
Теги:

1 ответ

0

Ответ:

SELECT 
    Date, Time, EventId, UserId, 
    DATEDIFF(DATE, LEAD(Date) OVER W) AS 'diff' 
  FROM first 
  WINDOW W AS (ORDER BY Date);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню