我正在使用电子商务系统,并试图修改产品的排序方式。在MySQL中按位置排序,将多个产品分配到一个位置
我的问题是,当两个项目具有相同的值时,mysql如何处理排序?
例如
产品按分配给他们的位置排序(所以位置1将显示在顶部)。
但是,如果我将3个产品分配到位置1和2个产品分配到位置2,那么3个产品分配到位置1的默认排序方式如何?这是特定于电子商务系统还是有一个MySQL的默认,如ID?
我希望这已经足够清晰了,我一直无法通过谷歌搜索找到任何好的答案。
我正在使用电子商务系统,并试图修改产品的排序方式。在MySQL中按位置排序,将多个产品分配到一个位置
我的问题是,当两个项目具有相同的值时,mysql如何处理排序?
例如
产品按分配给他们的位置排序(所以位置1将显示在顶部)。
但是,如果我将3个产品分配到位置1和2个产品分配到位置2,那么3个产品分配到位置1的默认排序方式如何?这是特定于电子商务系统还是有一个MySQL的默认,如ID?
我希望这已经足够清晰了,我一直无法通过谷歌搜索找到任何好的答案。
您可以指定附加的字段来排序,最早的字段优先,但后面的字段决定如何打破关系。例如:
ORDER BY foo ASC, bar DESC
结果是随机的,因为不会应用其他“默认”顺序。如果你需要一个以上的列进行排序,你可以做这样的
order by position, id, date
你可以给多个列名(比如A,B,C)的ORDER BY
子句。当A的值相等时,则B用于做出排序决定。如果在B中也相等,则使用C.这叫做词典排序。请参阅SELECT
命令和ORDER BY
子句的任何SQL文档。
完美,我会给这个去!谁知道这会很简单呃? – user319940