SQL简单ORDER BY

时间:2010-12-25 08:00:42

标签: sql sql-order-by

我是SQL的新手,我不认为这个问题很难回答。我有一个包含列名,分数和排名的游戏的高分表。我想知道每次添加新分数时我如何按降序排序表,以便表格始终按分数排序。

我知道这是错误的做法,但我希望这会使我的观点更加清晰。

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

接近这个的正确方法是什么?

还有一种方法,是否有一种方法可以设置它,以便排名值始终保持在假设来自SQL的位置,例如,无论得分如何,第一位始终位于顶部?

5 个答案:

答案 0 :(得分:1)

通常我们在从表中获取数据时使用order by

所以我们使用

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

答案 1 :(得分:1)

使用RANK或DENSE_RANK等排名功能对结果进行排名。为了获得更好的性能,您可以添加以分数降序开头的聚簇索引。

答案 2 :(得分:0)

您可以使用SELECT子句获得有序结果:

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

答案 3 :(得分:0)

我不相信数据库表中数据的顺序应该真正重要,因为当您查询数据时,您可以按照您希望的方式对其进行排序。您希望以正确的顺序存储数据库中的数据的原因是什么?

答案 4 :(得分:0)

这不是在SQL中选择记录的正确方法。请改用:

SELECT * FROM `tablename` ORDER BY `id` DESC