我是SQL新手。我有一个名为Categories
的表,有3列:
id int(25)
category varchar(25)
subcategory varchar(25)
我想在“住宿”类别中添加一个新的子类别“房地产中介”。当我这样做时,新的子类别出现在我的表格底部:
[
我的所有数据都有增加的ID(1,2,3,4),因此当我添加新数据时,它会采用新的ID顺序(例如:157)。如果我理解正确,则按ID进行排序。
问题是现在新的子类别出现在我的网站下拉菜单中,但它不是按字母顺序排列的。它出现在类别列表的末尾:
[
我一直在我的SQL for Beginners书中搜索,在谷歌和Stack Exchange中,但我没有找到我的问题的帮助。
如果有人知道如何解决这个问题,我将不胜感激。
答案 0 :(得分:1)
好的,那你为什么不使用ORDER BY
条款呢?如您所说,默认情况下,SELECT
语句将按ID返回我们的数据排序,因此您需要指定您想要自己的订单。
SELECT id, category, subcategory
FROM Category
ORDER BY subcategory ASC
ASC
表示上升顺序[默认行为],因此它将从A-Z返回。您可以指定引用后代顺序的DESC
,它将从Z-A返回。
P.S。:我看到你在同一张表中有你的类别和子类别,他们有一对多的关系,你不应该规范化吗?当您在该表中的数据变大时,它将帮助您。 Normalization of Database