0

我正在使用电子商务系统,并且正在尝试修改产品的排序方式。

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

例如

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

但是,如果我有 3 个产品分配给位置 1 和 2 个产品分配给位置 2,那么默认情况下分配给位置 1 的 3 个产品是如何排序的?这会特定于电子商务系统还是有 mysql 默认值,例如 ID?

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

4

3 回答 3

2

您可以指定要排序的其他字段,最早的字段优先,但后面的字段决定如何打破平局。例如:

ORDER BY foo ASC, bar DESC
于 2012-06-28T12:32:10.910 回答
0

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

order by position, id, date
于 2012-06-28T12:32:22.997 回答
0

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

于 2012-06-28T12:34:54.777 回答