Функция ранга в SQL 5.6.10 - PullRequest
       55

Функция ранга в SQL 5.6.10

1 голос
/ 07 августа 2020

Мне нужно применить функцию ранга в MYSQL 5.6.10. Проблема в том, что я получаю синтаксическую ошибку, когда использую стандартный синтаксис, который я нашел в сети

Например:

INSERT INTO t(val)
VALUES(1),(2),(2),(3),(4),(4),(5);

SELECT
    val,
    RANK() OVER (
        ORDER BY val
    ) my_rank
FROM
    t;

Я получаю красную строку, предлагающую синтаксическую ошибку рядом с 'OVER ('

Ответы [ 2 ]

1 голос
/ 07 августа 2020

Насколько мне известно, оконные функции представлены после версии 8 и выше. исходный код

Что-то вроде этого может дать вам некоторое представление.

SELECT
    val,
    (select 1+count(*) from t b where t.val>b.val)"rank"
FROM
    t;

Демо

1 голос
/ 07 августа 2020

RANK доступен только в MySQL -8.0 +

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...