如何对新数据进行排序显示?

How to sort new data for display?

我是 SQL 的新手。我有一个名为 Categories 的 table,有 3 列:

id int(25)
category varchar(25)
subcategory varchar(25)

我想在类别 "Accommodation" 中添加一个新的子类别 "Real Estate Agency"。当我这样做时,新的子类别出现在我的 table:

的底部

[

我的所有数据都有一个增加的 ID (1, 2, 3, 4),所以当我添加新数据时,它采用新的 ID 顺序(例如:157)。如果我理解正确的话,排序是通过 ID 完成的。

问题是现在新的子类别出现在我的网站下拉菜单中,但它不是按字母顺序排列的。它出现在类别列表的末尾:

[

我一直在我的 SQL 初学者书籍、Google 和 Stack Exchange 中搜索,但没有找到解决我的问题的帮助。

如果有人知道如何解决这个问题,我将不胜感激。

好的,为什么不直接使用 ORDER BY 子句呢?正如您所说,默认情况下 SELECT 语句将 return 我们的数据按 ID 排序,因此您需要指定您想要自己的顺序。

SELECT id, category, subcategory
FROM Category
ORDER BY subcategory ASC

ASC 表示升序 [这是默认行为],因此它将 return 从 A-Z 排序。您可以指定 DESC 表示后代顺序,这将 return 从 Z-A 排序。

P.S.: 我看到你在同一个 table 中有你的类别和子类别,它们是一对多的关系,你不应该规范化吗?当您 table 中的数据变大时,它会帮助您。 Normalization of Database