Nayeeni Manoj Ответов: 2

Функция ранга в mysql


сэр/мама, могу ли я знать, как я могу получить функцию ранга в моем SQL
Я пробовал в своем SQL этот код я пробовал но он показывает ошибку plz помогите мне
Выберите предметы,имена, отметки, ранг()
over ( разбиение по темам порядок по меткам desc )
Как "ранг" от результата;
многие люди говорят, что в MySQL нет функции over clause, так как же я могу получить rank function sir

Что я уже пробовал:

SELECT subjects,names, marks, rank() 
over ( partition by subjects order by marks desc ) 
AS 'rank' FROM result;
many people are saying that there is no over clause function in MySQL so how can i get rank function sir

0x01AA

а.) "он показывает ошибку" ---> что это за ошибка?
б.) один из учебников по mySQL: Руководство по ранжированию функций MySQL на практических примерах[^]

2 Ответов

Рейтинг:
4

Maciej Los

В зависимости от версии базы данных MySql функции ранжирования могут быть недоступны... Видеть: MySQL :: MySQL 8.0 Справочное Руководство :: 12.21.1 Описание Оконных Функций[^]

В таком случае, проверьте это:
mysql - получить ранг пользователя в таблице баллов - администраторы баз данных Stack Exchange[^]
Присвоение Рангов - MySQL Cookbook [Книга][^]


0x01AA

Тоже хорошо, а 5

Maciej Los

Спасибо, Бруно.

Рейтинг:
16

CHill60

Просто получите правильный синтаксис - смотрите документацию Руководство по ранжированию функций MySQL на практических примерах[^]
Попробовать это

SELECT subjects,names, marks, rank() 
over ( partition by subjects order by marks desc ) my_Rank
FROM result;
Я удалил его. AS и дал ему имя, которое не является зарезервированным словом.
Если он все еще не работает, то вполне вероятно, что вы используете устаревшую версию MySQL, поскольку "многие люди", которые говорят, что в MySQL нет предложения over, ошибаются.


0x01AA

Должно сработать, а 5.

Maciej Los

Согласитесь!