SQL Simple ORDER BY - PullRequest
       3

SQL Simple ORDER BY

1 голос
/ 25 декабря 2010

Я новичок в SQL и не думаю, что на этот вопрос будет сложно ответить.У меня есть таблица рекордов для игры, которая содержит название столбца, счет и ранг.Я хочу знать, как можно упорядочить таблицу по убыванию каждый раз, когда добавляется новый счет, чтобы таблица всегда оставалась упорядоченной по счету.

Я знаю, что это неправильный способ сделать это, но я надеюсьэто делает мою точку зрения более ясной.

UPDATE `HSTable`.`Highscores` ORDER BY `Highscores`.`score` DESC;

Как правильно подходить к этому?

Еще одна вещь, есть ли способ, которым я могу установить это так, чтобы значение рейтинга всегдаостается там, где он должен быть из SQL, например, 1-е место всегда на вершине, независимо от оценки?

Ответы [ 5 ]

1 голос
/ 27 декабря 2010

Используйте функцию ранжирования, такую ​​как RANK или DENSE_RANK, чтобы ранжировать результаты.Для повышения производительности вы можете добавить кластеризованный индекс, который начинается с убывания оценки.

1 голос
/ 25 декабря 2010

обычно мы используем порядок при получении данных из таблицы

, поэтому мы используем

SELECT * FROM `HSTable` ORDER BY `score` DESC
0 голосов
/ 25 декабря 2010

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

0 голосов
/ 25 декабря 2010

Это неправильный способ выбора записей в SQL.Используйте это вместо:

SELECT * FROM `tablename` ORDER BY `id` DESC
0 голосов
/ 25 декабря 2010

Вы можете получить заказанные результаты, используя предложение SELECT:

SELECT * FROM `HSTable` ORDER BY `score` DESC
...