按位置排序在MySQL中,多个产品分配到一个位置

时间:2012-06-28 12:30:31

标签: mysql sorting

我正在使用电子商务系统,而我正在尝试修改产品的分类方式。

我的问题是,当两个项具有相同的值时,mysql如何处理排序?

e.g。

产品按分配给它们的位置排序(因此位置1将显示在顶部)。

但是,如果我将3个产品分配给位置1,将2个产品分配给位置2,那么分配给位置1的3个产品如何按默认排序?这是否特定于电子商务系统或是否存在mysql默认值,例如ID?

我希望这很清楚,我无法通过谷歌搜索找到任何好的答案。

3 个答案:

答案 0 :(得分:2)

您可以指定要订购的其他字段,最早的字段优先,但后者决定如何打破关系。例如:

ORDER BY foo ASC, bar DESC

答案 1 :(得分:0)

结果是随机的,因为不会应用其他“默认”订单。如果您需要按多列排序,可以像这样进行排序

order by position, id, date

答案 2 :(得分:0)

您可以在ORDER BY子句中提供多个列名称(例如A,B,C)。当值在A中相等时,则B用于做出排序决策。如果在B中也相等,则使用C.这称为词典排序。请参阅SELECT命令和ORDER BY子句的任何SQL documentationn。