2012-06-28 33 views
0

我正在使用电子商务系统,并试图修改产品的排序方式。在MySQL中按位置排序,将多个产品分配到一个位置

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

例如

产品按分配给他们的位置排序(所以位置1将显示在顶部)。

但是,如果我将3个产品分配到位置1和2个产品分配到位置2,那么3个产品分配到位置1的默认排序方式如何?这是特定于电子商务系统还是有一个MySQL的默认,如ID?

我希望这已经足够清晰了,我一直无法通过谷歌搜索找到任何好的答案。

回答

2

您可以指定附加的字段来排序,最早的字段优先,但后面的字段决定如何打破关系。例如:

ORDER BY foo ASC, bar DESC 
+0

完美,我会给这个去!谁知道这会很简单呃? – user319940

0

结果是随机的,因为不会应用其他“默认”顺序。如果你需要一个以上的列进行排序,你可以做这样的

order by position, id, date 
0

你可以给多个列名(比如A,B,C)的ORDER BY子句。当A的值相等时,则B用于做出排序决定。如果在B中也相等,则使用C.这叫做词典排序。请参阅SELECT命令和ORDER BY子句的任何SQL文档。

相关问题