如何对 MySql 数据库进行排序?

Posted

技术标签:

【中文标题】如何对 MySql 数据库进行排序?【英文标题】:How to sort the MySql Database? 【发布时间】:2009-09-13 13:51:31 【问题描述】:

我在 mysql 数据库“orkut”中存储了各种记录。现在我想通过一个java程序对该数据库进行排序。我已通过 jdbc 驱动程序连接到数据库。 现在我想按“int”类型的字段“number”的降序对该数据库进行排序,但不知道命令。我有“con”引用变量,它表示与 MySql 数据库的连接。

还有一件事,有一个字段“sr_no”表示序列号。记录,它不是主键。

我希望在将数据库排序为序列号后该字段不会更改。更改记录顺序时不应更改。

我希望这种排序永久存储在同一个数据库中。我不想要排序的结果集。 我想要排序的数据库。

【问题讨论】:

顺便说一句,您所谓的“数据库”实际上是被称为表。数据库是一组表。您以前使用过 DBase III DBF 吗? :) 【参考方案1】:

不要试图通过 Java 对它进行排序——你会在尝试时杀死自己。 SQL 有一个order by 子句正是这样做的。这是 SQL:

select
    number,
    sr_no
from
    tbl
order by
    number desc

另请注意,您不能拥有永久排序的数据库。数据的存储方式不适合以您选择的任何顺序存储。您应该永远指望数据库的顺序是相同的,除非您在查询中使用order by

【讨论】:

【参考方案2】:

正如 eric 所说,您不能拥有永久排序的数据库。但是如果你想非常频繁地在一个大型数据集上执行这个查询,那么你可以做各种数据库支持的索引。

它将加快您对特定键的搜索和排序。

【讨论】:

是的,我需要对一个非常大的数据集执行此操作。它包含数百万条记录。你能解释一下如何使用 MySQL 的索引来做到这一点。我正在使用 MySQL。我对此表示赞同。 只需要为表创建索引并在排序时使用选择编号,sr_no from tbl order by number desc

以上是关于如何对 MySql 数据库进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

如何按行对数据进行排序? [MYSQL]

如何对mySQL数据库中某些特定字段进行排序?

如何在mysql中对具有不同数据集的列进行排序

mysql查询结果排序

21《MySQL 教程》ORDER BY 排序

如何对多个 mysql foreach 数组进行排序并需要它们在 php 中保持一致?